在Python中列出列表中的每个字符串

时间:2016-02-10 12:10:15

标签: python string list slice

我想在Python中对列表中的每个字符串进行切片。

这是我目前的清单:

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

这是我想要的结果列表:

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

我想从列表中的每个字符串中删除最后两个字符。

我该怎么做?

3 个答案:

答案 0 :(得分:5)

使用list comprehension创建一个新列表,其中表达式的结果应用于inputlist中的每个元素;这里是最后两个字符的[:-2]个切片,返回余数:

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

演示:

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

答案 1 :(得分:3)

你可以这样做:

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

答案 2 :(得分:2)

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