돌아오신 것을 환영합니다
미리 알려드리자면
제가 헤드셋을 착용했는데
조금 이상할 수도 있습니다
아마도
여러분은 관심이 없으실 수도 있습니다
하지만 제 이웃은 아닙니다
이웃에 사무실이 있는데 자리를 비웠는지
지금 한 시간 째 전화 벨소리가 울리고 있으며 굉장히 골치가 아픕니다
그래서 녹화에 집중할 수 있도록 헤드셋을 착용한 것입니다
아무튼 계속 이어가 봅시다
이번 영상에서는 for 반복문 내 항목의 인덱스를 얻는 방법을 살펴볼 것입니다
자
리스트 속 항목의 인덱스를 수정해 보고 싶을 수도 있습니다
혹은 그 인덱스에 접근하여 다른 무언가를 해볼 수도 있습니다
이런 상황에서는 리스트를 직접 사용하는 것보다
item in 0 until 다음에 shoppingList.size를 입력합니다
자
shoppingList.size가 무엇일까요?
shoppingList.size는 해당 리스트 속 아이템의 갯수를 제공합니다
우리 쇼핑 리스트 예시에는 현재 4개의 항목이 있습니다
출력해 봅시다
shoppingList.size를 출력해서 보여드리겠습니다
그리고 이 코드는 지워주겠습니다
더 이상 리스트에서 item을 직접적으로 사용하고 있지 않기 때문에 오류가 발생할 것입니다
그래서 여기 item을 직접적으로 RAM과 비교할 수 없다는 오류가 발생한 것입니다
하지만 우선 이것부터 출력하여 항목들이 무엇인지 확인해 봅시다
실행해 보겠습니다
그리고 보시다시피 4가 출력됩니다
shoppingList.size는 4입니다
shoppingList에 4개의 항목이 있는 것입니다
그래서 shoppingList.size가 4인 것입니다
따라서 이는 그저 리스트 속 항목을 정수로 반환합니다
그리고 이 for 반복문에서 0부터 4까지를 모두 거쳐 각 항목을 출력한 것입니다
그러니까 이제 item in 0 until shoppingList.size라는 새로운 접근법이 생긴 것입니다
우리가 얻는 것은 shoppinList의 항목 자체는 아니지만 그 대신 숫자를 얻습니다
정확히는 인덱스입니다
따라서 0부터 3까지의 인덱스를 얻으며 그것이 리스트의 인덱스들입니다
리스트는 항상 0에서 시작하므로 여기서 하나씩 거치는 것입니다
만약 리스트 속 어느 위치의 항목을 제거하면 다음에 올 항목들이
이동합니다
mutable(변할 수 있는) 리스트에는 빈 인덱스가 없습니다
전체 리스트가 공백인 경우를 제외하고 말입니다
그러니까 중간에 공백이 있을 수 없다는 것입니다
좋습니다
이제 할 수 있는 것은 Index만 출력하는 것이 아니라
shoppingList의 항목들도 사용하는 것입니다
이게 무슨 뜻이냐면 shoppingList의 항목을 사용하는 것이 아니라 shoppingList의 인덱스를
사용하는 것입니다
이제 출력할 수 있는 것은 "item ${shoppingList〈index〉}"(항목 ${shoppingList〈index〉})
"is at index $index"(의 인덱스는 $index"를 입력합니다
이 줄에 많은 일이 일어나고 있습니다
코드를 실행해본 다음에 설명드리겠습니다
"item processor is at index 0" (항목 프로세서의 인덱스는 0)
"항목 쿨링 시스템의 인덱스는 1" 이런 식으로 보여지고 있습니다
그러니까 이 for 반복문을 사용해 리스트의 항목 갯수를 거쳐 인덱스를 얻고
각 항목의 인덱스를 표시하고 그 항목들도 표시하는 것입니다
그게 이 println()이 한 것이며 항목과 특정 위치에서의 shoppingList를
제공하는 것입니다
여기서 본 내용과 동일한 것입니다
예를 들어 이는 shoppingList의 위치가 3인 경우입니다
3은 숫자입니다
for 반복문 속 인덱스도 그저 숫자입니다
여기서 for 반복문에 알려준 것은 이 for 반복문을 갖고 있는 것과 동일한 것인데
바로
추가해서 보여드리자면 이런 식으로 0 until 3로 작성한 for 반복문과
동일합니다
그러니까 0, 1, 2, 3은 네 항목입니다
자
그러면 문제는
여기에
3이 아니라 4여야 합니다 왜냐하면 〈 기호를 사용하기 때문입니다
이는 〈= 기호가 아닙니다
따라서 4를 입력해야 합니다
왜냐하면 이 경우 인덱스 4, 또는 숫자 4는 포함되지 않기 때문입니다
그래서 4를 입력한 것입니다
보시다시피 이 기호는 〈=(오른쪽보다 작거나 같다)를 의미합니다
따라서 이는 0을 포함합니다
그리고 여기에 있는 숫자보다 작은 수까지의 범위를 포함합니다
그리고 size(크기)를 말할 떄 보통 0은 크기로 치지 않기 때문에
첫 항목이 있으면 크기가 1이 됩니다
그러므로 1부터 세는 것입니다
그렇게 하나, 둘, 셋, 넷
리스트에 4개의 아이템이 있으므로 이런 식으로 작성하면 인덱스가 0에서 4가 되는 것이며 4는
제외됩니다
좋습니다
그리고
저런, 전화벨이 계속 울리고 있습니다
끝난 줄 알았는데
끝나지 않았습니다
아무튼 이런한 for 반복문 인덱스 접근을 활용해 볼 수 있었고
어느 위치에 무엇이 있고 그것으로 리스트를 수정할 수 있는 권한이 생깁니다
이제 for 반복문를 사용해 인덱스로 모든 항목에 접근할 수 있습니다
자
하지만 대부분의 경우 그런 것은 필요하지 않을 것입니다
하지만 나중에 사용될 것을 대비해 당황하지 마시라고 미리 알려드렸습니다
그리고 for 반복문을 사용할 수 있는 세 번째 방법도 있습니다
그리고 그것은 0 until 4 대신 0 ... 4를 사용하는 것입니다
하지만 이 ... 방법의 경우 4도 포함이 됩니다
그래서 이 경우 3으로 바꿔주어야 합니다 왜냐하면 0부터 123을 포함하면
네 항목입니다
이 〉= 기호 때문입니다
...은 이것을 사용합니다
이러한 범위를 제공합니다
좋습니다
제가 이번 영상에서 보여드리고자 한 것은 여기까지입니다
다음 영상에서는 은행 프로그램을 시작해 볼 것입니다
모든 준비를 마쳤습니다
은행 프로그램을 시작할 준비가 되었습니다
for 반복문이 어떻게 동작하는지
리스트가 어떻게 동작하는지도 배웠습니다
그리고 마지막으로 한 가지 더 보여드리고 싶은 것이 있는데 그것은 바로 특정 종류를 갖고 있는 리스트입니다
자
좋습니다
그럼 다음 영상에서 뵙겠습니다