Подтвердить что ты не робот

Python проверяет, существует ли список ключей в словаре

У меня есть словарь, который выглядит так:

grades = {
        'alex' : 11,
        'bob'  : 10,
        'john' : 14,
        'peter': 7
       }

и список имен students = ('alex', 'john')

Мне нужно проверить, что все имена в students существуют как ключи в grades dict.

grades может иметь больше имен, но все имена в students должны быть в grades

Должен быть простой способ сделать это, но я все еще новичок в python и не могу понять. попробовал if students in grades, не работал.

В реальных случаях списки будут намного больше.

4b9b3361

Ответ 1

Используйте all():

if all(name in grades for name in students):
    # whatever

Ответ 2

>>> 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.