我想在Python中对列表中的每个字符串进行切片。
这是我目前的清单:
['One', 'Two', 'Three', 'Four', 'Five']
这是我想要的结果列表:
['O', 'T', 'Thr', 'Fo', 'Fi']
我想从列表中的每个字符串中删除最后两个字符。
我该怎么做?
答案 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