Python 将列表中的每个元素专用于一个变量

Python 将列表中的每个元素专用于一个变量,python,list,Python,List,假设我们有a=[1,2,3,4]和s=[q,w,e,r]的列表。 我想把s中的每个元素都指定为a中的一个值,这样printw就可以打印2,依此类推。你可以写 for u in range(0, len(a)): s[u] = a[u] 但是这里printw没有意义,我们得到了一个错误。dict就是这样做的: In [1261]: d = dict(zip(s, a)) In [1262]: d Out[1262]: {'e': 3, 'q': 1, 'r': 4, 'w': 2} 要

假设我们有a=[1,2,3,4]和s=[q,w,e,r]的列表。 我想把s中的每个元素都指定为a中的一个值,这样printw就可以打印2,依此类推。你可以写

for u in range(0, len(a)):
   s[u] = a[u]
但是这里printw没有意义,我们得到了一个错误。

dict就是这样做的:

In [1261]: d = dict(zip(s, a))

In [1262]: d
Out[1262]: {'e': 3, 'q': 1, 'r': 4, 'w': 2}
要获取与e关联的值,只需使用dict索引:


下面的解决方案使用内置函数执行您指定的操作。然而,你永远不应该使用它!这是可怕的不安全,我只是发布它的完整性的缘故。使用后面的解决方案

for i in range(len(s)):
    exec(s[i] + "=" + str(a[i]))
您应该做的是使用:

它通过索引将列表s和a中的每个元素匹配到字典中的键值对中,这意味着它们是根据顺序匹配的

然后你可以做:

>>> print(myDictionary["w"])
2
使用dict映射您想要的元素!
myDictionary = dict(zip(s, a))
>>> print(myDictionary["w"])
2