2

次の 2 つのタプルがあるとします。

keys=("second", "minute", "hour", "day")
values=(1, 60, 60, 24)

keysタプルをキー、valuesタプルを値とするディクショナリを作成したいと思います。これが私の素朴な方法です:

d={}
for i in xrange(len(keys)):
    d[keys[i]] = values[i]

これを行うためのより簡単でエレガントな方法はありますか?

私は主に Python2.7 を使用しているため、このバージョンに特権を与える回答を希望します。

4

2 に答える 2

8
>>> keys=("second", "minute", "hour", "day")
>>> values=(1, 60, 60, 24)
>>> dict(zip(keys,values))
{'second': 1, 'hour': 60, 'minute': 60, 'day': 24}
于 2012-04-16T18:42:26.223 に答える
7

このzip関数は、イテラブルのペアをペアのリストに変換します。コンストラクターは、いくつかの形式の引数を受け入れます。そのdictうちの 1 つは (キー、値) ペアのシーケンスです。2 つを組み合わせると、必要なものだけが得られます。

dict(zip(keys, values))
于 2012-04-16T18:45:17.177 に答える