1

キーのリストと値のリストからdictに要素を同じ順序で追加する効率的な方法はありますか?

今のところ、リスト内の要素に対して for ループを反復処理し、

dictio[key] = val

ペアごとに。組み込み関数はありますか? 私は3.3です。

4

2 に答える 2

3

はい、使用しますzip():

dictio = dict(zip(keys, values))

または.update()、既存の辞書に項目を追加するために使用します。

dictio.update(zip(keys, values))

このzip()関数は、2 つの iterable を 1 つのタプルのシーケンスにペアにします。これは両方ともdict()dict.update()喜んでキーと値のペアに変換されます。

>>> keys = ('foo', 'bar')
>>> values = ('spam', 'eggs')
>>> list(zip(keys, values))
[('foo', 'spam'), ('bar', 'eggs')]
>>> dict(zip(keys, values))
{'bar': 'eggs', 'foo': 'spam'}
于 2013-06-01T15:14:35.710 に答える
1

dict 内包表記を使用できます。

dictio.update({k:v for k,v in zip(keys, values)})
于 2013-06-01T15:52:45.600 に答える