私のコードは
index = 0
for key in dataList[index]:
print(dataList[index][key])
インデックス= 0のディクショナリキーの値を印刷するために正常に動作するようです。
しかし、私の人生では、dataList
の未知の数の辞書を反復処理するforループ内にこのforループを配置する方法を理解できません。
range
のlen
のlist
のインデックスを反復処理できます。
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
for index in range(len(dataList)):
for key in dataList[index]:
print(dataList[index][key])
または、index
カウンターでwhileループを使用できます。
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
index = 0
while index < len(dataList):
for key in dataList[index]:
print(dataList[index][key])
index += 1
リスト内の要素を直接反復することもできます。
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
for dic in dataList:
for key in dic:
print(dic[key])
辞書の値を反復するだけで、ルックアップなしでも可能です。
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
for dic in dataList:
for val in dic.values():
print(val)
または、反復をリスト内包表記またはジェネレータ内にラップして、後で展開します。
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
print(*[val for dic in dataList for val in dic.values()], sep='\n')
可能性は無限大。あなたが好むものは選択の問題です。
これは簡単にできます:
for dict_item in dataList:
for key in dict_item:
print dict_item[key]
リストを反復処理し、リスト内の各辞書について、キーを反復処理し、その値を出力します。