したがって、次のようなオブジェクトのリストがあります。
['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に変換したいだけのようです。listsetdict
seta は s のようなハッシュ不可能な値を保持できないため、それはできませんdict。listしかし、それらのに簡単に変換できdictsます。
それぞれをjust bylistに変換できます。これにより、元のリストとまったく同じ方法で使用できるリストが得られます(つまり、 と同じものが返されます)。dictdict(enumerate(l))listd[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