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

时间:2017-07-09 16:15:25

标签: python list

因此,我们说我们有列表a = [1,2,3,4]s = ["q", "w", "e", "r"]。 我想将s中的每个元素专用于a,以便print(w)打印2,依此类推。你可以写

for u in range(0, len(a)):
   s[u] = a[u]

但是这里print(w)毫无意义,我们收到错误。

2 个答案:

答案 0 :(得分:2)

dict就是这样做的:

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

In [1262]: d
Out[1262]: {'e': 3, 'q': 1, 'r': 4, 'w': 2}

要获取与e相关联的值,只需使用dict indexing

In [1263]: d['e']
Out[1263]: 3

答案 1 :(得分:1)

以下解决方案使用内置的exec()函数完全按照您的指定执行。但是,您应该永远不会使用它!这是非常不安全的,我只是为了完整性而张贴它。之后使用解决方案。

for i in range(len(s)):
    exec(s[i] + "=" + str(a[i]))

应该做的是使用dictionary

myDictionary = dict(zip(s, a))

这样做是因为它将列表sa的每个元素按其索引匹配到字典中的键值对(意味着它们根据它们的顺序进行匹配)。

然后你可以这样做:

>>> print(myDictionary["w"])
2