我有两个字符串(长度相同),我想创建一个字典,其中键是一个字符串中的字符,其值对应于另一个字符串中的字符。
x='qwert'
y='asdfg'
然后,字典应该包含
d[q]='a'
d[w]='s'
d[e]='d'
d[r]='f'
d[t]='g'
我试着做这样的事情
for i,j in x,y:
d[i]=j
但这似乎在 python 中不起作用(就像在 C 中那样)。我怎样才能做到这一点 ?
我有两个字符串(长度相同),我想创建一个字典,其中键是一个字符串中的字符,其值对应于另一个字符串中的字符。
x='qwert'
y='asdfg'
然后,字典应该包含
d[q]='a'
d[w]='s'
d[e]='d'
d[r]='f'
d[t]='g'
我试着做这样的事情
for i,j in x,y:
d[i]=j
但这似乎在 python 中不起作用(就像在 C 中那样)。我怎样才能做到这一点 ?
d = dict(zip(x, y))
相当简单的解决方案,你只需要将zip
两个字符串放在一起,然后将它们传递给dict
构造函数。
分解:
zip(x, y)
创建一个元组列表,将字符串中“相同位置”的字母分组。
[('q', 'a'), ('w', 's'), ('e', 'd'), ('r', 'f'), ('t', 'g')]
dict()
接受两个元素元组的列表,并使它们成为字典中的键值对。
{'q': 'a', 'r': 'f', 'e': 'd', 't': 'g', 'w': 's'}
请注意,字典没有按元组的顺序出现 - 这是因为字典不是有序的容器,而是它们只是将一个值映射到另一个。