我有像这样的清单
list = ['1,2,3,4,5', '6,7,8,9,10']
我在列表中有“,”的问题,因为'1,2,3,4,5'
它的字符串。
我想要list2 = ['1','2','3','4'...]
我怎么能这样做?
应该是这样的:
nums = []
for str in list:
nums = nums + [int(n) for n in str.split(',')]
你可以循环并分割字符串。
list = ['1,2,3,4,5', '6,7,8,9,10']
result = []
for s in list:
result += s.split(',')
print(result)
通过,
拆分原始值中的每个值,然后将它们附加到新列表中。
l = []
for x in ['1,2,3,4,5', '6,7,8,9,10']:
l.extend(y for y in x.split(','))
print(l)
使用itertools.chain.from_iterable
和map
:
from itertools import chain
lst = ['1,2,3,4,5', '6,7,8,9,10']
print(list(chain.from_iterable(map(lambda x: x.split(','), lst))))
# ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
请注意,您不应将list
名称用于变量,因为它是内置的。
您还可以使用列表理解
li = ['1,2,3,4,5', '6,7,8,9,10']
res = [c for s in li for c in s.split(',') ]
print(res)
#['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
list2 = []
list2+=(','.join(list).split(','))
','.join(list) produces a string of '1,2,3,4,5,6,7,8,9,10'
','.join(list).split(',') produces ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
join方法用于通过分隔符连接列表中的元素。它返回一个字符串,其中序列的元素已通过','连接。 split方法用于通过分隔符将字符串拆分为列表。它将字符串拆分为子串数组。
# Without using loops
li = ['1,2,3,4,5', '6,7,8,9,10']
p = ",".join(li).split(",")
#['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']