我怎么能用zip(),python

时间:2015-08-07 07:39:14

标签: python

例如,我有这些变量

a = [1,2]
b = [3,4]

如果我使用函数zip(),结果将是:

[(1, 3), (2, 4)]

但我有这个清单:

a = [[1,2], [3,4]]

而且,我需要和第一个结果一样:[(1, 3), (2, 4)]。但是,当我这样做时:

zip(a)

我明白了:

[([1, 2],), ([3, 4],)]

我该怎么办?

2 个答案:

答案 0 :(得分:13)

zip需要多个迭代,因此如果您将单个列表列表作为参数传递,则子列表只会被包含在元组中,每个元素都包含一个元素。

当您将列表传递给*时,您必须使用zip来解压缩列表。这样,您可以有效地传递两个列表,而不是一个列表列表:

>>> a = [[1,2], [3,4]]
>>> zip(*a)
[(1, 3), (2, 4)]

答案 1 :(得分:0)

只需以不同的方式拨打电话:

a = [[1,2], [3,4]]
zip(a[0], a[1])