반복문 (for)에서 질문 ㅡ있습니다
242
작성한 질문수 22
좋은 강의 들려주셔서 감사합니다
list ( i . items ( ) ) [ 0 ] 이 왜 배열의 요소를 튜플로 가져오나요
i의 item은 딕셔너리고 그것을 리스트로 형변환한것의 0번쨰 요소를 가져온것인데
리스트가 튜플로 바뀌는 메커니즘을 모르겠습니다
답변 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)
도움이 되셨는지 모르겠습니다. 더 궁금하신점 있으시면 또 질문주세요 ^^
38강 = 연산자 더하고 빼기
0
60
2
주석처리
0
117
1
함수의 파라미터값 msg
0
155
1
강의자료 이미지 안나옴
0
239
3
강의자료 질문 두번째
0
165
3
강의자료 관련 질문
0
116
1
파이썬 예외 처리 try / except 파일 처리 코드가 실행이 안됩니다.
0
235
1
소수 너무 어려워요
0
245
1
imagefont 함수 사용
0
239
1
pylint
0
357
1
add 함수 문의 ㅠㅠ
0
283
1
형식 문의드립니다.
0
210
1
변수 명을 왜 src, tar로 하셨는지 궁금합니다.
0
602
1
숫자야구 코드를 짜 봤는데 뭔가 이상합니다.
0
253
1
zsh: command not found: pylint
0
269
1
텔레그램 봇 만들기 코드 실행이 안됩니다 박사님..ㅠ
0
546
1
질문드립니다.
1
374
2
list.reverse() 출력에 대해서 질문있습니다.
1
433
1
데코레이터 함수 및 동작시간 질문입니다.~
1
323
2
opencv 사용하면서 궁금한점 (해상도)
1
781
1
질문드립니다.
1
299
1
아래 오류가 뜨면서 vscode가 컴파일이 되지 않는데.. 혹시 왜이럴까요?
1
445
1
크롤링안되는 현상 문의 드립니다.
1
421
1
파이썬 크롤링 관련 문의
1
278
1





