我试图通过将列表与以list为值的字典进行比较来获取键。主题是我的清单,学校是我的字典。
subjects = ['English','Mathematics']
Schools = {'School1': ['English','Mathematics','Humanities'],
'School2': ['English','Science','Programming'],
'School3': ['English','Art','Mathematics']}
在这种情况下,我无法检索密钥。我的预期输出将是School1和School3退回
答案 0 :(得分:1)
据我了解,您想返回包含subject
列表项目的列表。如果是这样,则可以这样实现:
result=[]
for item in Schools:
contains_all = all(elem in Schools[item] for elem in subjects)
if contains_all:
result.append(Schools[item])
我所做的是,如果Schools
列表中的项目包含主题,请将其附加在result
列表中。
答案 1 :(得分:0)
这里是您的一线客。
x = [school_name
for school_name, school_content in Schools.items()
if all(
subject in school_content
for subject in subjects
)
]
# ['School1', 'School3']