使用两个字符串填充字典生成键值对

0 投票
1 回答
3904 浏览
提问于 2025-04-17 17:40

我有两个长度相同的字符串,我想创建一个字典,其中一个字符串的字符作为键,另一个字符串的字符作为对应的值。

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语言中是可以的)。我该怎么做呢?

1 个回答

11
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'}
    

    需要注意的是,字典中的内容并不是按照元组的顺序排列的——这是因为字典不是有序的容器,它只是把一个值映射到另一个值。

撰写回答