값이 Python의 사전에 있는지 확인

Rayven Esplanada 2023년1월30일
  1. get()및 Key를 사용하여 값이 사전에 있는지 확인
  2. values()를 사용하여 지정된 값이 사전에 있는지 확인
  3. 값이 목록 인 경우 사전에 값이 있는지 확인
값이 Python의 사전에 있는지 확인

이 튜토리얼에서는 파이썬 사전 내에 값이 있는지 확인하는 방법을 보여줍니다. 여기에서는 키로 주어진 값 검색, 특정 값 검색, 객체 또는 컬렉션 값 검색과 같은 관련 주제를 다룹니다.

시작하려면 값이 사전에 존재하는 경우 True를 인쇄하고 싶을 것입니다. 그렇지 않으면False를 인쇄하십시오.

get()및 Key를 사용하여 값이 사전에 있는지 확인

Python의 사전에는 주어진 키의 값을 반환하는 내장 함수key()가 있습니다. 동시에 존재하지 않으면 None을 반환합니다. 이 함수를 조건으로 사용하여 값이 사전 내에 존재하는지 여부를 판별 할 수 있습니다.

먼저int 키와 문자열 값으로 간단한 사전을 선언 해 보겠습니다.

simpDict = {1: "Ant", 2: "Bear", 3: "Cat", 4: "Dog", 5: "Elephant"}

키 쌍을 사용하여 값을 찾으려면key()함수를 사용하면됩니다. 예를 들어, 6을 키로 사용하는 값을 검색하려고합니다. 아래 코드를 따르십시오.

if simpDict.key(6) != None:
    print("True")
else:
    print("False")

simpDict 함수에는 키 6이 없으므로이 코드 블록은False를 출력합니다.

values()를 사용하여 지정된 값이 사전에 있는지 확인

특정 값을 찾는 상황과 달리 사전에서 키를 찾는 것은 매우 간단합니다. in키워드와 사전에서 찾고있는 키를 사용하기 만하면됩니다.

print(3 in simpDict)

키 3이 존재하므로 True를 출력합니다. 숫자를 존재하지 않는 키로 바꾸면 False가 출력됩니다.

반면에 사전에서 특정 값을 찾으려면values()함수를 사용할 수 있습니다. values()명령은 사전에있는 모든 값의 목록을 반환합니다. values()를 사용하면in 키워드를 사전과 지정된 값에 활용할 수 있습니다. Elephant값이 사전에 있는지 알고 싶다면 다음 코드를 실행합니다.

print("Elephant" in simpDict.values())

이 줄은 키 5의simpDict에 elephant라는 단어가 있으므로True를 출력합니다.

Python 2.X에는values()와 유사한 두 개의 다른 함수도 있습니다. 이들은itervalues()viewvalues()입니다. 이러한 함수는 Python 3.X 버전에서 더 이상 사용되지 않습니다.

itervalues()viewvalues()명령은values()명령과 동일한 작업을 수행합니다. 그러나 다른 구현은 매우 무시할 수 있지만 런타임에 큰 영향을 미칩니다.

print("Elephant" in simpDict.itervalues())
print("Elephant" in simpDict.viewvalues())

둘 다values()함수와 동일한 출력을 반환합니다. 중복성이 아마도 이러한 함수가 최신 Python 버전에서 사용되지 않는 주된 이유 일 수 있다는 점에 유의하는 것이 중요합니다.

자, 사전의 값이 목록이나 객체와 같은 데이터 구조이면 어떻게 될까요? 알아 보자.

값이 목록 인 경우 사전에 값이 있는지 확인

listDict = {1: ["a", "b"], 2: ["b", "c"], 3: ["c", "d"], 4: ["d", "e"]}

이제int 키와 값으로 문자 목록이있는 사전이 있습니다.

사전에['c', 'd']목록이 있는지 검색하고 싶다고 가정 해 보겠습니다.

print(["c", "d"] in listDict.values())

결과 출력은 True가됩니다. 이것은 딕셔너리를 반복하여 컬렉션을 비교하는 것도 작동 함을 확인합니다.

그러나 목록 값 내의 값이 사전에 존재하는지 확인하려면 어떻게해야합니까? 이 문제를 해결하려면 값을 반복하고 사전 대신 목록에서in 키워드를 사용하십시오.

예를 들어,이 목록의 값에 'e'문자가 있는지 확인하려고합니다. 이를 위해 실행할 코드는 다음과 같습니다.

tof = False
for value in listDict.values():
    if "e" in value:
        tof = True
        break
print(tof)

출력은'e'가 사전에 존재하므로True를 출력합니다.

요약하면values()함수를 사용하여 값을 반복하고 찾고있는 값이 값 목록 내에 존재하는지 비교합니다. 이는 지정된 값이 사전에 존재하는지 확인하려는 경우 도움이됩니다.

Rayven Esplanada avatar Rayven Esplanada avatar

Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.

LinkedIn

관련 문장 - Python Dictionary