• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

words_dict key 추출할 때

20.05.09 20:21 작성 조회수 130

1

key만 추출하는거면 words_dict.keys()가 아니라 그냥 words_dict만 해도 key값만 추출되네요?

혹시 이건 어떤 이유인지 알 수 있을까요?

그리고 정답을 가져올 때, word_dict[q]는 

q = words[i] 에서 q에 들어간 값과 words_dict[q] 값을 비교해서 같은 q에 해당하는 value를 스스로 가져와서 english에 넣는다. 라고 생각하는게 맞을까요?

예를 들어 q에 사자 가 들어갔으면 words_dict에서 사자에 해당하는 value 가 lion 이니 english에는 lion이 들어간다. 라는 제 생각이 맞나 궁금합니다.

답변 1

답변을 작성해보세요.

0

words_dict 만 해도 key 값만 출력된다는게 어떤 말씀이신지 모르겠습니다.

위의 이미지에서 처럼 words_dict 를 하면 키와 값이 모두 출력됩니다. 반복문 안에서 사용하는것을 말씀하신 내용이라면 키만 리턴하는게 맞습니다. 쉽게 dict 내부에 반복문에서 호출시 __iter__() 내장함수가 정의되어있고 __iter__() 함수 내에 그렇게 동작하도록 구현되어있어서 그렇다고 보시면 될 것 같습니다. 다만 주의할 점은 for 문으로 동작시 반환되는 키의 순서는 임의적으로 반환됩니다.

그리고 2번째 질문하신 내용은 말씀하신 내용이 맞습니다. ^^

q = words[i]

q에 "사자" 가 들어갔다면 해당 사자에 해당하는 lion을 dict 에서 찾기위해 word_dict[q] 로 접근하여 lion 이란 값을 가져오기 위함입니다. 물론 더 편한 로직이 있겠습니다만 강좌에선 list 와 dict 를 자꾸 활용하기 위해 이렇게 작성했습니다. dict 는 키로 접근가능하며 해당 키에 대한 value 를 돌려줍니다.