循环中循环的python列表理解

循环中循环的python列表理解,python,list-comprehension,Python,List Comprehension,转换的最佳方式: [(1, 2), (3, 4)] => [1, 2, 3, 4] 我试过了 [i for i in row for row in [(1, 2), (3, 4)]] 但这是行不通的。列表理解是最好的方法 >>> L = [(1, 2), (3, 4)] >>> [j for i in L for j in i] [1, 2, 3, 4] 注意,“外部循环”变量需要放在第一位,列表理解是最好的方法 >>> L =

转换的最佳方式:

[(1, 2), (3, 4)] => [1, 2, 3, 4]
我试过了

[i for i in row for row in [(1, 2), (3, 4)]]

但这是行不通的。

列表理解是最好的方法

>>> L = [(1, 2), (3, 4)]
>>> [j for i in L for j in i]
[1, 2, 3, 4]

注意,“外部循环”变量需要放在第一位,列表理解是最好的方法

>>> L = [(1, 2), (3, 4)]
>>> [j for i in L for j in i]
[1, 2, 3, 4]
>>> [i for row in [(1, 2), (3, 4)] for i in row]
[1, 2, 3, 4]
>>> 
请注意,“外部循环”变量需要放在第一位

>>> [i for row in [(1, 2), (3, 4)] for i in row]
[1, 2, 3, 4]
>>> 



您也可以使用itertools中的链来完成此操作

from itertools import chain
a = [(1, 2), (3, 4)]
print(list(chain.from_iterable(a)))

>>>>[1, 2, 3, 4]

您也可以使用itertools中的链来完成此操作

from itertools import chain
a = [(1, 2), (3, 4)]
print(list(chain.from_iterable(a)))

>>>>[1, 2, 3, 4]

是的,这在某种程度上是一个非常复杂的问题。我就是找不到(我不知道如何表达这个问题)。谢谢你的提及。是的,这在某种程度上是一个非常复杂的问题。我就是找不到(我不知道如何表达这个问题)。谢谢你的提及。