Program Club

Python은 키 목록이 사전에 있는지 확인합니다.

proclub 2020. 11. 16. 22:23
반응형

Python은 키 목록이 사전에 있는지 확인합니다.


다음과 같은 사전이 있습니다.

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

및 이름 목록 students = ('alex', 'john')

의 모든 이름 studentsgradesdict의 키로 존재 하는지 확인해야합니다 .

grades더 많은 이름을 가질 수 있지만의 모든 이름 studentsgrades

그것을 할 수있는 간단한 방법이 있어야하지만 여전히 파이썬에 익숙하지 않아 알아낼 수 없습니다. 시도했지만 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.


학생들을 세트로 가정

if not (students - grades.keys()):
    print("All keys exist")

설정으로 변환하지 않으면

if not (set(students) - grades.keys()):
    print("All keys exist")

참고 URL : https://stackoverflow.com/questions/10995172/python-check-if-list-of-keys-exist-in-dictionary

반응형