반복문에서 지루함과 헷갈림이 오기 시작했다. 리스트와 딕셔너리 반복문 range가 합쳐서 사용하기 시작하면서 내용도 많아지고 진도 나가는 것이 더뎌진 느낌을 받는다. 빨리 치고 나가서 다른거 공부하고 싶은데 욕심이 앞서는 것 같다. 자꾸 다른 책들을 기웃기웃하게 된다.
너무 급하게 봐서 그런걸까, 앞 내용을 여러번 왔다갔다 하게 된다. 이 글을 작성하면서 마음을 정리하고 차분하게 다시 봐야겠다. 빨리 가기 보다는 목적지까지 꾸준하게 정확히 가야지.
04-1. 리스트와 반복문
*for 반복문: 리스트와 함께 사용하기
#ex01.
array=[273, 32, 103, 57, 52]
for element in array:
print(element)
array 리스트의 요소가(주의 : 인덱스가 아니므로 혼동하지 말 것) element 변수에 직접 들어간다. 그러니까 273 숫자가 첫번째로 다이렉트로 들어가고 그 다음 32, 103, 57, 52 순서대로 출력하게 되는 것. 일단 for 반복문과 리스트를 함께 사용할 경우 가장 기본이 된다.
*중첩 리스트와 중첩 반복문
#ex02.
list_of_list=[
[1, 2, 3],
[4, 5, 6, 7],
[8, 9]
}
for items in list_of_list:
print(items)
list_of_list의 요소는 첫 번째는 [1, 2, 3] 두 번째는 [4, 5, 6, 7] 세 번째는 [8, 9]가 된다. items는 list_of_list의 첫 번째, 두번째, 세번째 요소 순서대로 출력이 된다.
#ex03.
list_of_list=[
[1, 2, 3],
[4, 5, 6, 7],
[8, 9]
}
for items in list_of_list:
for item in items:
print(items)
list_of_list의 요소는 첫 번째는 [1, 2, 3] 두 번째는 [4, 5, 6, 7] 세 번째는 [8, 9]가 된다. 그래서 items에 첫 번째 요소 [1, 2, 3]이 들어 가게되고, 이후 두번째 for문에서 item은 items의 [1, 2, 3]의 요소를 차례대로 받게 된다. 그러나 출력은 items이므로 3번(1, 2, 3)을 [1, 2, 3]을 출력된다.
이후 items의 두 번째 요소 [4, 5, 6, 7]이 들어가게되고, 이후 두번째 for문에서 item은 items의 [4, 5, 6, 7]의 요소를 차례대로 받게 된다. 위와 동일하게 출력은 itmes이므로 [4, 5, 6, 7]이 4번 반복되어 출력된다. 마지막도 동일한 루틴이므로 [8,9]가 2번 반복 출력됨을 예상할 수 있다.
※for문과 list를 함께 사용할 경우에는 변수에 리스트의 요소가 들어가게되고, 리스트에 들어가 있는 요소를 직접적으로 접근하려면 인덱스를 이용해서 접근해야 함을 혼동하지 말아야겠다.
04-2. 딕셔너리와 반복문
*for 반복문: 딕셔너리와 함께 사용하기
#ex04.
dictionary = {
"name": "7D 건조 망고",
"type": "당절임",
"ingredient": ["망고", "설탕", "메타중황산나트륨", "치자황색소"],
"origin" : "필리핀"
}
for key in dictionary:
print(key, ":", dictionary[key])
key값에 dictionary의 내부에 있는 key값이 들어가게된다. 그러니까 key변수에는 name, type, ingredient, origin이 들어가게되고 오른쪽의 dictionary[key]는 이러한 key의 값을 출력하게 된다.
참고자료
한빛미디어의 윤인성 저자님의 혼자 공부하는 파이썬 책을 독학하면서 복습하기 위해 정리한 내용입니다.
댓글