• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

딕셔너리 value 값으로 key 값 찾

23.02.14 06:53 작성 조회수 417

0

 a = {'Phone': '01095136634', 'birth': '910904', 'adress': 'Busan', 'rank': [1, 2, 3], 'test': 'test_dict'}

a라는 딕셔너리에서 910904라는 value값을 통해 key 값을 찾아서 출력 하고 싶습니다. 제가 생각 해낸 방법은 딕셔너리에는 순서가 없음으로 리스트로 형 변환을 하여 해당하는 인덱스를 불러오는 방법을 사용했습니다.

print(list(a.keys())[list(a.values()).index('910904')])

이거보다 더 효율적이고 간결한 방법이 있을 가요?

 

답변 1

답변을 작성해보세요.

1

오 안녕하세요. 봉균님

value 로 key를 찾는 패턴은 결과적으로 형 변환을 해야 할 수 있는 부분이예요.

많은 예제들이 있지만, 봉균님 코드하고 전반적으로 비슷비슷하답니다.

아래 예제코드도 비슷해요.

python 3.6 이상에서는 dict 도 순서를 가지고 유지하게 되었으니, 이점 참고하세요!

 

# creating a new dictionary

my_dict ={"Java":100, "Python":112, "C":11}

# one-liner

print("One line Code Key value: ", list(my_dict.keys())

      [list(my_dict.values()).index(100)])