web-dev-qa-db-ja.com

辞書へのタプルのリスト

Pythonで現在タプルのリストを辞書に変換する方法は次のとおりです。

l = [('a',1),('b',2)]
h = {}
[h.update({k:v}) for k,v in l]
> [None, None]
h
> {'a': 1, 'b': 2}

もっと良い方法はありますか?これを行うには、ワンライナーが必要なようです。

74
Sarah Vessels

(注:「ハッシュ」は、Pythonでは「辞書」と呼ばれます。)

>>> my_list = [('a', 1), ('b', 2)]
>>> dict(my_list)
{'a': 1, 'b': 2}
127
Sven Marnach

dictコンストラクターは、入力(キー/値のタプル)とまったく同じ入力を受け入れます。

>>> l = [('a',1),('b',2)]
>>> d = dict(l)
>>> d
{'a': 1, 'b': 2}

ドキュメント から:

たとえば、これらはすべて{"one":1、 "two":2}に等しい辞書を返します:

dict(one=1, two=2)
dict({'one': 1, 'two': 2})
dict(Zip(('one', 'two'), (1, 2)))
dict([['two', 2], ['one', 1]])
22
FogleBird

dict内包表記の場合:

h = {k:v for k,v in l}
8
zety