Ответ 1
Используйте all()
:
if all(name in grades for name in students):
# whatever
У меня есть словарь, который выглядит так:
grades = {
'alex' : 11,
'bob' : 10,
'john' : 14,
'peter': 7
}
и список имен students = ('alex', 'john')
Мне нужно проверить, что все имена в students
существуют как ключи в grades
dict.
grades
может иметь больше имен, но все имена в students
должны быть в grades
Должен быть простой способ сделать это, но я все еще новичок в python и не могу понять. попробовал if students in grades
, не работал.
В реальных случаях списки будут намного больше.
Используйте all()
:
if all(name in grades for name in students):
# whatever
>>> grades = {
'alex' : 11,
'bob' : 10,
'john' : 14,
'peter': 7
}
>>> names = ('alex', 'john')
>>> set(names).issubset(grades)
True
>>> names = ('ben', 'tom')
>>> set(names).issubset(grades)
False
Вызов class
недействителен, поэтому я изменил его на names
.