在Python中,如何将元组列表加入一个列表?

LWZ*_*LWZ 17 python tuples

继我之前的问题如何将列表项分组为元组?

例如,如果我有一个元组列表

a = [(1,3),(5,4)]
Run Code Online (Sandbox Code Playgroud)

如何解压缩元组并将其重新格式化为单个列表

b = [1,3,5,4]
Run Code Online (Sandbox Code Playgroud)

我认为这也与iter功能有关,但我真的不知道该怎么做.请赐教.

Vol*_*ity 36

b = [i for sub in a for i in sub]
Run Code Online (Sandbox Code Playgroud)

那就行了.

  • 哦,是的,这很简单,我在想什么...... (4认同)
  • 请解释一下它是如何工作的,我也对双循环感到困惑 (3认同)
  • @ruief @Asara双循环的工作方式就像您将其写为嵌套的for循环一样:`for a in sub`挑选出`a`的每个子列表(或本例中的每个元组),然后选择`for i in sub`挑选出每个子列表中的每个元素,这些元素放在一起形成结果列表。希望这使它更加清晰。 (3认同)

NPE*_*NPE 9

In [11]: list(itertools.chain(*a))
Out[11]: [1, 3, 5, 4]
Run Code Online (Sandbox Code Playgroud)

如果你只是需要迭代1, 3, 5, 4,你可以摆脱这个list()电话.

  • @Volatility:懒惰评估? (3认同)