繁体   English   中英

从Python中的两个1D列表创建2D列表的快速方法

[英]Fastet way to create 2D list from two 1D list in Python

我有两个清单:

name = ['A', 'B', 'C']
sex = ['M', 'F', 'M']

从以下两个方面创建具有以下性能的列表的最佳方法是什么:

comb = [['A', 'M'], ['B', 'F'], ['C', 'M']]

使用zip

>>> name = ['A', 'B', 'C']
>>> sex = ['M', 'F', 'M']
>>> zip(name, sex)
[('A', 'M'), ('B', 'F'), ('C', 'M')]

如果您希望项目成为列表,则可以使用map或list comprehension进行转换:

>>> map(list, zip(name, sex))
[['A', 'M'], ['B', 'F'], ['C', 'M']]
>>> [list(x) for x in zip(name, sex)]
[['A', 'M'], ['B', 'F'], ['C', 'M']]

注意:如果使用的是Python 3.x, zipmap返回迭代器而不是列表。 要获取列表,请将返回值传递给list函数

list(zip(name, sex))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM