Slice every string in list in Python

2019-01-29 08:40发布

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?

3条回答
Rolldiameter
2楼-- · 2019-01-29 09:19

You can do:

>>> l = ['One', 'Two', 'Three', 'Four', 'Five'] 
>>> [i[:-2] for i in l]
['O', 'T', 'Thr', 'Fo', 'Fi']
查看更多
爱情/是我丢掉的垃圾
3楼-- · 2019-01-29 09:21
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
查看更多
一纸荒年 Trace。
4楼-- · 2019-01-29 09:22

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']
查看更多
登录 后发表回答