Python 3.5遍历字典列表

发布于 2021-01-29 15:09:47

我的代码是

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

似乎可以很好地打印索引= 0的字典键的值。

但是对于我的一生,我无法弄清楚如何将for循环放入for循环中,以循环访问未知数量的字典。 dataList

关注者
0
被浏览
84
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    你可以只遍历的索引rangelen你的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')
    

    可能性是无止境。选择哪种类型取决于您的选择。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看