在Python中,如何将元组列表联接到一个列表中?

in Python, How to join a list of tuples into one list?

本问题已经有最佳答案,请猛点这里访问。

接下来我前面的问题是如何将列表项分组成元组?

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

1
a = [(1,3),(5,4)]

如何将元组解包并重新格式化为一个列表

1
b = [1,3,5,4]

我认为这也与iter函数有关,但我真的不知道该怎么做。请启发我。


1
b = [i for sub in a for i in sub]

那将做的把戏。 P / < >


1
2
In [11]: list(itertools.chain(*a))
Out[11]: [1, 3, 5, 4]

如果你只需要在iterate 1, 3, 5, 4,你能得到摆脱之list()呼叫。 P / < >


就在iterate的列表和unpack的tuples: P / < >

1
2
3
4
l = []
for x,y in a:
   l.append(x)
   l.append(y)

1
2
import itertools
b = [i for i in itertools.chain(*[(1,3),(5,4)])]

另一种方式: P / < >

1
2
3
4
5
6
7
8
a = [(1,3),(5,4)]
b = []

for i in a:
    for j in i:
        b.append(j)

print b

这将只处理的tuples内部的列表(寿)。你需要给我,如果其他statements如果你想parse在变量的描述太松散,像; P / < >

1
2
3
4
5
6
7
8
9
10
11
a = [(1,3),(5,4), 23, [21, 22], {'somevalue'}]
b = []

for i in a:
    if type(i) == (tuple) or type(i) == (list) or type(i) == (set):
        for j in i:
            b.append(j)
    else:
        b.append(i)

print b