nested-for-loop - 有没有办法遍历子列表并返回特定值?
问题描述
我有以下字典,其中包含嵌套字典:
rarebirds = {
'Gold-crested Toucan': {
'Height (m)': 1.1,
'Weight (kg)': 35,
'Color': 'Gold',
'Endangered': True,
'Aggressive': True},
'Pearlescent Kingfisher': {
'Height (m)': 0.25,
'Weight (kg)' : 0.5,
'Color': 'White',
'Endangered': False,
'Aggressive': False},
'Four-metre Hummingbird': {
'Height (m)': 0.6,
'Weight (kg)': 0.5,
'Color' : 'Blue',
'Endangered' : True,
'Aggressive' : False},
'Giant Eagle': {
'Height (m)' : 1.5,
'Weight (kg)' : 52,
'Color' : 'Black and White',
'Endangered' : True,
'Aggressive' : True},
'Ancient Vulture': {
'Height (m)' : 2.1,
'Weight (kg)' : 70,
'Color' : 'Brown',
'Endangered' : False,
'Aggressive': False}
}
如果此列表中的一只鸟真的具有攻击性,我应该打印出一份声明,上面写着“Cover your head”。我不知道如何让 Python 遍历列表的每个元素并仅在鸟具有攻击性的情况下打印某些内容。请指教。
解决方案
试试这个,它遍历字典值:
rarebirds = {...}
for bird_dict in rarebirds.values():
if bird_dict["aggressive"]:
print("Cover your head!")
或者,您可以遍历字典的键:
rarebirds = {...}
for bird in rarebirds:
if rarebirds[bird]["aggressive"]:
print("Cover your head!")
无论哪种方式都有效;这主要取决于您的喜好。
推荐阅读
- php - PHP 数组不能再长
- python - 如何用零替换熊猫数据框中多列的nan值
- android - 在 Android 中修改矢量图像
- python - 如何根据行索引的条件在熊猫数据框中删除行
- python-3.x - 更新 azure-iot-hub (python) 中的所有设备孪生
- python-3.x - How to access globlal variable within a class method using python 3.x
- npm - 如何使用 npm 处理 Azure Artifacts 的不变性
- python - 使用 Keras 从 MNIST 重塑数组
- url-rewriting - 从 Apache 2,2 迁移到 Apache 2.4 后,URL 重写不起作用
- spring-boot - Spring Webflux Stacktrace(Spring Boot 2.1.x -> 2.2.x)问题