关于python:使用相互关联的列表创建一个元组

Create a tuple using interrelated lists

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

我有两个相互关联的列表作为例子

1
name=['pablo','rob','rahul','roni']

1
age=[21,23,20,24]

我必须用这两个列表创建一个元组。

最终输出应为数据='pablo':21,'rob':23,'rahul':20,'roni':24。

并给出了上述问题的输出。我怎样才能得到原始列表,即"姓名"和"年龄"。

如何使用python命令?


您可以使用zip()函数对列表进行配对;直接将其传递给dict()生成字典:

1
data = dict(zip(name, age))

zip()生成一个迭代器,它为您提供从每个成对输入的每个元素的元组。dict()非常乐意接受这些对,并将它们解释为键值对。

演示:

1
2
3
4
5
6
7
8
>>> name=['pablo','rob','rahul','roni']
>>> age=[21,23,20,24]
>>> zip(name, age)
<zip object at 0x10a6d0e08>
>>> list(zip(name, age))
[('pablo', 21), ('rob', 23), ('rahul', 20), ('roni', 24)]
>>> dict(zip(name, age))
{'roni': 24, 'pablo': 21, 'rahul': 20, 'rob': 23}

考虑到字典排序是任意的,所以list()dict()对的顺序是不同的。


使用zip和听写理解:

1
2
3
4
>>> name = ['pablo','rob','rahul','roni']
>>> age = [21,23,20,24]
>>> {n: a for n, a in zip(name, age)}
{'pablo': 21, 'rahul': 20, 'rob': 23, 'roni': 24}