将字符串列表转换为整数列表(Python)

3
我需要将一组字符串转换为整数列表。我已经搜索过这个问题,但我认为人们没有遇到我遇到的同样的问题。
假设我有一个字符串列表: List1 = ['1 2 3 4 5', '6 7 8 9 10', '11 12 13 14 15']
如何将其转换为: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]?
我很困惑,因为每个字符串中不是['1','2','3'等... ],而是一个字符串中有大约5个数字。
1个回答

4

首先,将List1的每个元素连接起来形成一个单独的、以空格分隔的字符串。然后将其拆分,并将结果列表中的每个元素转换为整数。

>>> List1 = ['1 2 3 4 5', '6 7 8 9 10', '11 12 13 14 15']
>>> [ int(x) for x in ' '.join(List1).split()]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

你还可以在列表推导式中嵌套使用for循环:
>>> [ int(x) for y in List1 for x in y.split() ]

您将每个for表达式解析的顺序与常规嵌套的for循环相同。

[ int(x) for x in ' '.join(List1).split() ] # <- 需要一个 ] - jramirez

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接