したがって、次のようなオブジェクトのリストがあります。
['bob', 'tob', 'mom'], ['tom', 'apa'], ['cat']
そして、次のような辞書の辞書を作成したいと思います:
{
{0: 'bob', 1: 'tob', 2: 'mom'},
{0: 'tom', 1: 'apa'},
{0: 'cat'}
}
これを行うためのpythonicの方法は何ですか? ありがとう!
したがって、次のようなオブジェクトのリストがあります。
['bob', 'tob', 'mom'], ['tom', 'apa'], ['cat']
そして、次のような辞書の辞書を作成したいと思います:
{
{0: 'bob', 1: 'tob', 2: 'mom'},
{0: 'tom', 1: 'apa'},
{0: 'cat'}
}
これを行うためのpythonicの方法は何ですか? ありがとう!
インデックスが値にマップされているoflist
を ofに変換したいだけのようです。list
set
dict
set
a は s のようなハッシュ不可能な値を保持できないため、それはできませんdict
。list
しかし、それらのに簡単に変換できdicts
ます。
それぞれをjust bylist
に変換できます。これにより、元のリストとまったく同じ方法で使用できるリストが得られます(つまり、 と同じものが返されます)。dict
dict(enumerate(l))
list
d[0]
l[0]
それらをリストにまとめるには、リスト内包表記を使用します。
>>> l=[['bob','tob','mom'],['tom','apa'],['cat']]
>>> d=[dict(enumerate(i)) for i in l]
>>> d
[{0: 'bob', 1: 'tob', 2: 'mom'}, {0: 'tom', 1: 'apa'}, {0: 'cat'}]
index_as_key = dict(enumerate(['bob','tob','mom']))
リストを繰り返し処理しているときにリスト項目のインデックスが必要な場合は、中間辞書を作成する必要はありません。
for i, item in enumerate(['bob','tob','mom']):
# do something