• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

8분7초 대의 list(i.items()[0]) 에 대해 질문드립니다.

20.06.19 16:44 작성 조회수 409

1

print(list(i.items())[0]) 은 리스트의 0번째 튜플만 출력하라는 명령 아닌가요? 그럼 ('홍길동', 100) 만 출력되어야하는 것 아닌지요?  

답변 2

·

답변을 작성해보세요.

0

현주민님의 프로필

현주민

질문자

2020.06.23

아.. 그럼 [0] 번째로 접근한다는 명령을 입력해도, for 문 형식이기 때문에 3번을 반복하는 것은 변함이 없는것이군요. 답변 감사합니다!

0

말씀하신 내용은 for 문으로 반복되는 내용입니다.

student = [{"홍길동": 100}, {"가제트": 200}, {"가가멜": 300}]

가 변수로 선언되어있고

for i in student:

문으로 student 의 요소를 i 로 반복하고 있습니다.

student 에는 3개의 요소가 있기 때문에 for 문은 3번 반복을 할테고

print(list(i.items())[0])

이 구문으로 인해 i 번째의 items() 요소를 list 로 캐스팅해서 [0] 번째의 내용을 출력하게 됩니다. 하나씩 보면

처음 i.items() 를 출력하면 dict_items([('홍길동', 100)]) 형태의 요소가 출력될텐데 이를 list 로 캐스팅했기 때문에 [('홍길동', 100)] 이렇게 출력이 됩니다. 리스트형태기 때문에 리스트 안의 요소로 접근하기 위해 [0] 번째로 접근하면 ('홍길동', 100) 이 출력되게 됩니다. 이렇게 3번 반복을 하게 됩니다.