-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
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이 들어간다. 라는 제 생각이 맞나 궁금합니다.
답변을 작성해보세요.
0
남박사
지식공유자2020.05.11
words_dict 만 해도 key 값만 출력된다는게 어떤 말씀이신지 모르겠습니다.
위의 이미지에서 처럼 words_dict 를 하면 키와 값이 모두 출력됩니다. 반복문 안에서 사용하는것을 말씀하신 내용이라면 키만 리턴하는게 맞습니다. 쉽게 dict 내부에 반복문에서 호출시 __iter__() 내장함수가 정의되어있고 __iter__() 함수 내에 그렇게 동작하도록 구현되어있어서 그렇다고 보시면 될 것 같습니다. 다만 주의할 점은 for 문으로 동작시 반환되는 키의 순서는 임의적으로 반환됩니다.
그리고 2번째 질문하신 내용은 말씀하신 내용이 맞습니다. ^^
q = words[i]
q에 "사자" 가 들어갔다면 해당 사자에 해당하는 lion을 dict 에서 찾기위해 word_dict[q] 로 접근하여 lion 이란 값을 가져오기 위함입니다. 물론 더 편한 로직이 있겠습니다만 강좌에선 list 와 dict 를 자꾸 활용하기 위해 이렇게 작성했습니다. dict 는 키로 접근가능하며 해당 키에 대한 value 를 돌려줍니다.
답변 1