Slice every string in list in Python

2019-01-29 09:03发布

问题:

I want to slice every string in a list in Python.

This is my current list:

['One', 'Two', 'Three', 'Four', 'Five']

This is the list I want for result:

['O', 'T', 'Thr', 'Fo', 'Fi']

I want to slice away the two last characters from every single string in my list.

How can I do this?

回答1:

Use a list comprehension to create a new list with the result of an expression applied to each element in the inputlist; here the [:-2] slices of the last two characters, returning the remainder:

[w[:-2] for w in list_of_words]

Demo:

>>> list_of_words = ['One', 'Two', 'Three', 'Four', 'Five']
>>> [w[:-2] for w in list_of_words]
['O', 'T', 'Thr', 'Fo', 'Fi']


回答2:

You can do:

>>> l = ['One', 'Two', 'Three', 'Four', 'Five'] 
>>> [i[:-2] for i in l]
['O', 'T', 'Thr', 'Fo', 'Fi']


回答3:

x=['One', 'Two', 'Three', 'Four', 'Five']
print map(lambda i:i[:-2],x)  #for python 2.7
print list(map(lambda i:i[:-2],x)) #for python 3