• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

python-question4-web 의 57번 질문입니다.

20.11.29 12:13 작성 조회수 85

0

안녕하세요.  차근차근 설명 잘 해주셔서 강의 잘 듣고있습니다^^

질문드립니다.

문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 반복문과 다양한 데이터구조 활용2

의 16:00정도의 내용입니다.

아래 data.keys()에서 keys()를 제외한 'for item in data'로 코드를 돌려도 같은 결과가 나오는데 keys()를 꼭 쓰는 이유가 무엇인지 궁금합니다.

for item in data.keys() 

       data 블라블라....

감사합니다.

즐거운 하루 되세요!

답변 1

답변을 작성해보세요.

1

안녕하세요. 잘 듣고 계시다니 정말 다행입니다. 꼭 도움이 되셨으면 좋겠습니다.

말씀하신 부분은 시간을 적어주셔서 바로 저도 테스트를 해볼 수 있었습니다.

본래는 for 반복문에 in 이후에 리스트를 넣으면 이에 맞게 반복이 되고, data.keys() 면 키이름만 리스트로 만들어주기 때문에, 

for item in data.keys() 가 보다 명시적으로 표기하는, 정석적인 방법이라고 보시면 좋을 것 같습니다.

하지만, 프로그래밍에서는 정석적인 방법 이외에도 편의를 위해서, 또는 동일한 기능을 다양하게 지원하는 문법들이 있는 경우가 많고요. for item in data: 경우도 이와 유사한 맥락으로 이해해주시면 좋을 것 같습니다.

사전 데이터를 list(data) 와 같이 리스트로 강제로 변환하면, 키이름만 가진 리스트로 변환이 되는데, for item in data: 라고 쓰면 강제로 사전데이터의 경우, 리스트로 변환을 하는 편의(?)를 제공해주기 때문에, 동일한 결과를 제공하고 있습니다.

감사합니다.