我有这种格式的值列表:
['11111-11111','22222-22222','33333-33333']
如何删除列表中的值,以便我只列出列表中每个值的前5个数字?
寻找:
['11111','22222','33333']
答案 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']