해결된 질문
작성
·
173
0
안녕하세요. 공튀기기 강의 부분 코드입니다.
코드에서 for ball_idx, ball_val in enumerate(balls):
ball_img_idx = ball_val["img_idx"]라고 하면
를 했으니깐 저 대괄호 {} 안에 있는 자체( 첫번째 공에 대한 정보)가 ball[0]이 되는 것이 맞나요? 그렇다면 ball_val["pos_x"] 가 무슨 값이 되는지 궁금합니다. 50 이 되는건가요..?? print로 찍어보니 점점 늘어나는 수던데 .. 0,1,2 등의 인덱스 숫자값이 아닌 "pos_x" 가 들어가있어서 헷갈리네요 ㅠㅠ
답변 2
1
balls 는 각각의 딕셔너리 자료형을 여러개 가지는 리스트입니다. 각 항목은 딕셔너리라서 "pos_x" 와 같이 key 값으로 value 를 확인하구요. balls.append 를 하므로 값을 추가하게 되면 그 리스트에서는 마지막 값으로 추가가 되기때문에 질문 내용처럼 balls[0] 이라는 보장은 못합니다. 값이 처음으로 들어가는 거라면 0 이 맞겠지요. enumerate 를 통해 balls 리스트에 있는 값들을 하나씩 가져와서 for 문을 수행하므로, 각각의 공이 현재 가지고 있는 pos_x, pos_y 의 값이 저장되는 것이랍니다 ^^
0