【发布时间】:2017-11-29 13:31:19
【问题描述】:
我有一本字典和一个列表。我需要将字典(整数)的“id”标签与列表元素进行比较。像这样的:
l = [[1], [7], [9]]
dict = {
"first":{
"id": "0"
},
"second":{
"id": "7"
},
"third":{
"id": "4"
}
}
for i in l:
for j in dict:
if i == dict[j]["id"]:
print("Yay!")
else:
print("Nay!")
我希望能够检查是否可以在字典的“id”标签中找到列表“l”的任何元素。我怎么做?
【问题讨论】:
-
你想要的输出是什么?
-
鉴于
l的结构,您需要将str(i[0])与id的值进行比较。 -
附加建议 - 似乎没有特别好的理由将
l中的每个项目保留在其自己的列表中。如果没有其他代码依赖于它 - 将值保持不变l = [1,7,9]会更容易。 -
@chepner 我仍然认为“不”:
if str(i[0]) == dict[j]["id"]: -
@Bilkokuya 你是对的,但在我的完整代码中,
append函数添加了所有类似的元素。
标签: python dictionary compare