列表中的Python条带值?

时间:2015-05-28 15:02:47

标签: python

我有这种格式的值列表:

 ['11111-11111','22222-22222','33333-33333']

如何删除列表中的值,以便我只列出列表中每个值的前5个数字?

寻找: ['11111','22222','33333']

2 个答案:

答案 0 :(得分:7)

您可以使用列表推导并对列表中的每个元素进行切片:

In [16]:
l=['11111-11111','22222-22222','33333-33333']
[x[:5] for x in l]

Out[16]:
['11111', '22222', '33333']

str.split的调用也会起作用:

In [17]:
l=['11111-11111','22222-22222','33333-33333']
[x.split('-')[0] for x in l]

Out[17]:
['11111', '22222', '33333']

答案 1 :(得分:1)

如果您想要一个非常简单的解决方案,可能就是这样:

yourList = ['11111-11111','22222-22222','33333-33333']
newList = []
for item in yourList:
    newList.append(item[:5])
print(newList)

输出为['11111', '22222', '33333']