假设我有一个这样的列表:
[[1, 2], [2, 3], [5, 4]]
我想要的是上述列表中的两个不同列表,其中第一个元素在一个列表中,
第二个元素在另一个列表中。
结果将如下所示:
[1,2,5] and [2,3,4]
有什么办法可以使用列表拼接吗?
使用zip()
配对了输入列表中的元素:
lista, listb = zip(*inputlist)
该*
应用元素中inputlist
作为单独的参数,因为如果你叫zip()
的zip([1, 2], [2, 3], [5, 4])
。zip()
取每个参数的第一个元素并一起返回,然后第二个元素,依此类推。
这实际上产生了元组,而不是列表,但这很容易补救:
lista, listb = map(list, zip(*inputlist))
演示:
>>> inputlist = [[1, 2], [2, 3], [5, 4]]
>>> zip(*inputlist)
[(1, 2, 5), (2, 3, 4)]
>>> lista, listb = map(list, zip(*inputlist))
>>> lista
[1, 2, 5]
>>> listb
[2, 3, 4]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句