0

(同じ長さの)2つの文字列があり、キーが一方の文字列の文字であり、もう一方の文字列の文字に対応する値を持つ辞書を作成したいと思います。

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の場合のように)。これどうやってするの ?

4

1 に答える 1

10
d = dict(zip(x, y))

非常に単純な解決策です。2つの文字列を一緒にするだけで、コンストラクターzipに渡すことができます。dict

壊す:

  • zip(x, y)文字列の「同じ位置」にある文字をグループ化するタプルのリストを作成します。

    [('q', 'a'), ('w', 's'), ('e', 'd'), ('r', 'f'), ('t', 'g')]
    
  • dict()2つの要素タプルのリストを取り込んで、それらをディクショナリのキーと値のペアにします。

    {'q': 'a', 'r': 'f', 'e': 'd', 't': 'g', 'w': 's'}
    

    ディクショナリはタプルの順序で表示されないことに注意してください。これは、ディクショナリが順序付けられたコンテナではなく、値を別の値にマップするためです。

于 2013-03-02T09:13:45.287 に答える