因此,我们说我们有列表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)
毫无意义,我们收到错误。
答案 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))
这样做是因为它将列表s
和a
的每个元素按其索引匹配到字典中的键值对(意味着它们根据它们的顺序进行匹配)。
然后你可以这样做:
>>> print(myDictionary["w"])
2