次のコードは、より大きな部分から少しです。 linesは2Dリストで、keyssは1Dリストです。行のすべての要素はキーと同じ長さです。辞書の理解の問い合わせ
datadict = []
for element in lines:
for index in range(len(element)):
datadict.append({keyss[index]: element[index]})
辞書の理解を使ってこれを書く方法があるのだろうかと思っていましたか?これは、表示されたコードが私がやっていることでうまく動作するので、好奇心の質問の多くです。私は試してきたし、道も見つけられなかった。それがどのように見えるかの構文を調べることができれば、ありがとう!
EDIT#1:応答を通じて読む
、私はそれが本当に機能していないことに気づきました。私はすべての要素が辞書の理解であるリストの理解をしようとしています。それが可能かどうか私は完全には分かりません。私はキーのすべての要素を取るディクショナリのリストを作成したいと思います。
編集#2: 私はdata_list = [{keyss[i]:row[i] for i in range(len(keyss))} for row in lines]
が働くことを発見しました。
あなたはリストと辞書を混乱させると思います。 'datadict'と呼ばれるものは、実際には一つのキーだけを持つ辞書を含むリストです。これは期待された結果ですか、または1つの大きな辞書を作成したいですか? –