111 タプルのリストを現在Pythonで辞書に変換している方法は次のとおりです。 l = [('a',1),('b',2)] h = {} [h.update({k:v}) for k,v in l] > [None, None] h > {'a': 1, 'b': 2} もっと良い方法はありますか?これを行うためのワンライナーが必要なようです。 python list dictionary tuples — サラ船 ソース
177 dict()タプルのリストを直接呼び出すだけです >>> my_list = [('a', 1), ('b', 2)] >>> dict(my_list) {'a': 1, 'b': 2} — スヴェン・マルナッハ ソース 1 Derp、それを行う簡単な方法があることを知っていました... Rubyからここに来て、Pythonのやり方を学ぼうとしました。ありがとう! — サラ船 5 @chandreshこれは Python 3では機能するため、更新は必要ありません。 — Sven Marnach @SvenMarnach、これはpy 3.5端末で上に書いた同じコマンドの私の出力です。トレースバック(最後の最後の呼び出し):ファイル "<ipython-input-313-7bb3559567ff>"、1行目<module> dict(my_list)TypeError: 'Dictionary' object is not callable — CKM 4 @chandreshこれはPython 3とは何の関係もありませんdict。同じ名前のPython組み込みをシャドウしているという変数があるためです。あなたはそれをしてはいけません。 — Sven Marnach @SvenMarnachああ。ありがとう。出来た。実際、私はウェブからいくつかのコードを取得し、これを実行しようとしました。筆者dictは、エラーが発生した場所から変数名として使用していたようです。再度、感謝します。 — CKM 2018
23 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]]) — FogleBird ソース
7 タプルのリストにはキーと値のマッピングが1対1であると想定しているようです(たとえば、辞書のキーが重複していないなど)。これは、このトピックについて検索する最初の質問なので、重複を処理する必要があるより一般的なケースの回答を投稿します。 mylist = [(a,1),(a,2),(b,3)] result = {} for i in mylist: result.setdefault(i[0],[]).append(i[1]) print(result) >>> result = {a:[1,2], b:[3]} — ペガ ソース