我有以下代码行:
food_web = {'Limpets ': [' Seaweed'],'Zooplankton ': ['Phytoplankton'],'Fish':[' Prawn'],'Whelk ': [' Limpets', ' Mussels'],'Lobster ': [' Crab', ' Mussels', ' Limpets', ' Whelk']}
Run Code Online (Sandbox Code Playgroud)
我想确定一个顶点捕食者,这意味着一个键没有出现在字典的任何值中,所以我需要搜索所有值中的每个键,但我不知道如何处理这个.值列表也让我感到困难.我只是在学习python,所以我的知识可能会低于标准.
values = ['Limpets', 'Mussels', 'Phytoplankton', 'Zooplankton', 'Prawn', 'Crab', 'Whelk', 'Seaweed']
keys = ['Whelk ', 'Mussels ', 'Bird ', 'Prawn ', 'Fish ', 'Zooplankton ', 'Crab ', 'Lobster ', 'Limpets ']
Run Code Online (Sandbox Code Playgroud)
我想要的是值不在键中的项目.我试过把它写成:
for item in values:
if item not in keys:
print(item)
Run Code Online (Sandbox Code Playgroud)
应该得到的答案是
phytoplankton
seaweed
Run Code Online (Sandbox Code Playgroud)
但我得到的是:
Phytoplankton
Seaweed
Limpets
Mussels
Crab
Whelk
Prawn
Zooplankton
Run Code Online (Sandbox Code Playgroud)
我也尝试将项目存储在列表中,然后打印该列表,但我尝试过的任何内容都不适用于我.我看到了一些使用列表理解的答案,但是我正在学习一门入门课程,所以我得到的就是循环......我使用的是python3.5,如果这有什么不同的话.