Python 3.5 перебирает список словарей

Мой код

index = 0
for key in dataList[index]:
    print(dataList[index][key])

Кажется, отлично работает для печати значений словарных клавиш для индекса = 0.

Но для жизни я не могу понять, как поместить этот цикл в цикл for, который итерации через неизвестное количество словарей в dataList

Ответ 1

Вы можете просто перебирать индексы 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])

или вы можете использовать цикл while с помощью счетчика index:

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')

возможности бесконечны. Это вопрос выбора, который вы предпочитаете.

Ответ 2

Вы можете легко сделать это:

for dict_item in dataList:
  for key in dict_item:
    print dict_item[key]

Он будет перебирать список, и для каждого словаря в списке он будет перебирать ключи и печатать свои значения.

Ответ 3

КАК ЕСЛИ МОЙ СПИСОК, КАК ЭТО:

    dict_list = [{"pincode":110001,"place_name":"New Delhi G.P.O.--New Delhi-DL","type":"Point","coordinates":"[28.6369, 77.2183]"},
{"pincode":110001,"place_name":"Parliament House-New Delhi-Central Delhi-DL","type":"Point","coordinates":"[28.6407, 77.2154]"},
{"pincode":110001,"place_name":"Secretariat North-New Delhi-Central Delhi-DL","type":"Point","coordinates":"[28.6369, 77.2183]"}]

Мне нужен выход, как это

>>{"pincode":110001,"place_name":"New Delhi G.P.O.--New Delhi-DL","type":"Point","coordinates":"[28.6369, 77.2183]"}
>>{"pincode":110001,"place_name":"Parliament House-New Delhi-Central Delhi-DL","type":"Point","coordinates":"[28.6407, 77.2154]"}
>>{"pincode":110001,"place_name":"Secretariat North-New Delhi-Central Delhi-DL","type":"Point","coordinates":"[28.6369, 77.2183]"}

Ответ 4

use=[{'id': 29207858, 'isbn': '1632168146', 'isbn13': '9781632168146', 'ratings_count': 0}]
for dic in use:
    for val,cal in dic.items():
        print(f'{val} is {cal}')