从其他列表附加到列表

问题描述 投票:-3回答:7

我有像这样的清单

list = ['1,2,3,4,5', '6,7,8,9,10']

我在列表中有“,”的问题,因为'1,2,3,4,5'它的字符串。

我想要list2 = ['1','2','3','4'...]

我怎么能这样做?

python python-3.x
7个回答
0
投票

应该是这样的:

nums = []
for str in list:
 nums = nums + [int(n) for n in str.split(',')]

0
投票

你可以循环并分割字符串。

list = ['1,2,3,4,5', '6,7,8,9,10']
result = []

for s in list:
    result += s.split(',')
print(result)

0
投票

通过,拆分原始值中的每个值,然后将它们附加到新列表中。

l = []
for x in ['1,2,3,4,5', '6,7,8,9,10']:
    l.extend(y for y in x.split(','))
print(l)

0
投票

使用itertools.chain.from_iterablemap

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名称用于变量,因为它是内置的。


0
投票

您还可以使用列表理解

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']

0
投票
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方法用于通过分隔符将字符串拆分为列表。它将字符串拆分为子串数组。


0
投票
# 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']
© www.soinside.com 2019 - 2024. All rights reserved.