【发布时间】:2021-11-07 18:50:53
【问题描述】:
我想遍历字典中的键, 然后看看嵌套字典是否有一定的值。
但是,我在语法上有点挣扎。 这是我写的:
dict = {
"Bull's eye": {"Points": 50, "Range": 60},
"Bull": {"Points": 25, "Range": range(55, 59)},
"Outer value": {"Points": range(0, 20), "Range": range(1, 54)},
}
number = 2
for key in dict.keys():
if number in dict[key]["Range"]:
print(f"Value is in {key}")
错误:“TypeError:'int' 类型的参数不可迭代”
请注意,“数字”值位于“外部值”内的“范围”字典中。 所以当循环在嵌套字典中找到这个值时,我希望 if 语句为 True
【问题讨论】:
-
为什么要在内置类型之后命名变量?我觉得这是一件应该(强烈)劝阻的常见事情
-
这种方法的问题是,如果你稍后再做
some_other_fancy_dict = dict(),那么你会立即遇到错误
标签: python dictionary for-loop syntax nested