인프런 커뮤니티 질문&답변
반복문 (for)에서 질문 ㅡ있습니다
작성
·
241
답변 1
0
남박사
지식공유자
_dict = {"name": "홍길동", "age": 30, "country": "Korea"}
이런 dict 형태의 데이터가 있다고 가정해보겠습니다.
print(type(_dict.items()) )
이렇게 _dict.items() 의 type을 출력해보면
<class 'dict_items'> 라는 형식으로 리턴이 됩니다.
이것을 바로 사용할수 없기에
list(_dict.items())
위 처럼 list 형태로 캐스팅을 하게 됩니다.
그러면 결과는 아래과 같게나옵니다.
[('name', '홍길동'), ('age', 30), ('country', 'korea')]
이렇게 리스트로 캐스팅이 되면서 안의 dict 형태의 인자는 튜플형태로 변환이 되게 되어있습니다.
키: 값 의 형태인 dict 는 iterable 한 데이터 형태가 아닙니다.
iterable 하다는것은 순서가 있는 연속된 자료형태인데 list 가 그렇습니다.
dict 는 iterable 한 데이터가 아니면서 키:값 으로 되어있기 때문에
이것을 iterable 하며 키:값 인 형태로 바꾸자니 튜플형태밖에 없기 때문에
그렇게 변화 되게 됩니다.
물론 이렇게 직접 사용하지 않고 for 반복문을 통하면 dict 형태를 키와 값 형태로 받아올 수 있습니다.
for key, value in _dict.items():
print(key, value)
도움이 되셨는지 모르겠습니다. 더 궁금하신점 있으시면 또 질문주세요 ^^





