首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python 3.5遍历字典列表

Python 3.5遍历字典列表
EN

Stack Overflow用户
提问于 2016-03-08 17:48:38
回答 5查看 129K关注 0票数 32

我的代码是

代码语言:javascript
复制
index = 0
for key in dataList[index]:
    print(dataList[index][key])

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

但是我实在搞不懂如何把这个for循环放在一个for循环中,这个循环遍历dataList中未知数量的字典

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-03-08 17:57:29

您可以只迭代您的listrangelen的索引

代码语言:javascript
复制
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
for index in range(len(dataList)):
    for key in dataList[index]:
        print(dataList[index][key])

或者,您可以使用带有index计数器的while循环:

代码语言:javascript
复制
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
index = 0
while index < len(dataList):
    for key in dataList[index]:
        print(dataList[index][key])
    index += 1

您甚至可以直接迭代列表中的元素:

代码语言:javascript
复制
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
for dic in dataList:
    for key in dic:
        print(dic[key])

它甚至可以不需要任何查找,只需迭代字典的值:

代码语言:javascript
复制
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
for dic in dataList:
    for val in dic.values():
        print(val)

或者将迭代包装在列表理解或生成器中,并在稍后将其解包:

代码语言:javascript
复制
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
print(*[val for dic in dataList for val in dic.values()], sep='\n')

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

票数 79
EN

Stack Overflow用户

发布于 2016-03-08 17:53:14

你可以很容易地做到这一点:

代码语言:javascript
复制
for dict_item in dataList:
  for key in dict_item:
    print dict_item[key]

它将遍历列表,并且对于列表中的每个字典,它将遍历键并打印其值。

票数 8
EN

Stack Overflow用户

发布于 2019-05-29 03:04:46

代码语言:javascript
复制
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}')
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35864007

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档