问题:如何遍历字典列表

我的代码是

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

似乎可以很好地打印index = 0的字典键的值。但是,我不知道如何遍历dataList中未知数量的字典。

解答

您可以只遍历listlenrange的索引:

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

可能性是无止境。这是一个选择你喜欢什么的问题。

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐