python - 在 for 循环中使用 break 和 continue 来遍历字典
问题描述
我是初学者,需要一些帮助。我需要使用带有 break 的 for 循环并继续在列表中找到第一个养狗的人。迭代次数不应超过 2。
这是给定的列表:
people = [
{'name': "Daniel", 'age': 29, 'job': "Engineer", 'pet': "Cat", 'pet_name': "Gato"},
{'name': "Katie", 'age': 30, 'job': "Teacher", 'pet': "Dog", 'pet_name': "Frank"},
{'name': "Owen", 'age': 26, 'job': "Sales person", 'pet': "Cat", 'pet_name': "Cosmo"},
{'name': "Josh", 'age': 22, 'job': "Student", 'pet': "Cat", 'pet_name': "Chat"},
{'name': "Estelle", 'age': 35, 'job': "French Diplomat", 'pet': "Dog", 'pet_name': "Gabby"},
{'name': "Gustav", 'age': 24, 'job': "Brewer", 'pet': "Dog", 'pet_name': "Helen"}
]
并给出了以下代码开始:
first_dog_person = None
iteration_count = 0
for value in people:
iteration_count += 1
我的思考过程是使用 if 语句遍历前两个键并找到等于“Dog”的值。但是我无法在脑海中想象它来输入代码。
我还学习了如何为 ex 创建一个空列表。first_dog_person = [] 并将键、值对附加到新列表中,但我不知道如何使元素等于键(first_dog_person = None)。
解决方案
尝试使用 if 语句,如下例所示:
first_dog_person = None
iteration_count = 0
for value in people:
iteration_count += 1
# To ensure that iteration won't exceed 2
if iteration_count == 2:
break
if value['pet'] == 'Dog':
first_dog_person = value
如果您想检查当前字典项的键值,只需将其传递到方括号中,例如
价值['宠物']
在上面的例子中。
在确保您的项目值符合要求后,您可以简单地将其分配给创建的变量“first_dog_person”。
请务必查看 Python 文档并阅读一些数据结构 -字典
推荐阅读
- mysql - 如何比较表的两列与逗号分隔的值不同的顺序?
- excel - 在excel中导入带有表情符号的文本
- arrays - 数据验证默认值
- javascript - 在 prod 模式下构建时如何以角度显示 package.json 的版本
- java - 使用 pushy lib push 到 voip 但 iphone 无法接受该消息
- c++ - 获取与 std::set 中给定元素最近的元素
- c# - 将 SQL 连接结果映射到对象
- android - 有没有办法使用 Kotlin 的 Anko 库来使用 AsyncTask 的“onProgressUpdate”之类的东西?
- android - 某些版本的 Android 找不到信标或查找速度非常慢
- electron - Electron 框架 - 电子从哪里下载新的更新