例如,我有这些变量
a = [1,2] b = [3,4]
zip() 对于它,结果将是:
zip()
[(1, 3), (2, 4)]
但我有一张单子:
a = [[1,2], [3,4]]
我需要得到和第一个结果一样的结果: [(1, 3), (2, 4)] . 但是,当我这样做的时候:
zip(a)
[([1, 2],), ([3, 4],)]
我该怎么办?
只需以不同的方式调用zip:
a = [[1,2], [3,4]] zip(a[0], a[1])
zip 需要多个iterables,因此如果通过 单一的 列表列表作为参数,子列表仅包装成元组,每个元组有一个元素。
zip
* 当你把清单交给 拉链 . 这样,你就有效地通过了 列表,而不是 列表列表:
*
拉链
>>> a = [[1,2], [3,4]] >>> zip(*a) [(1, 3), (2, 4)]