인덱싱
문자에서 선택하고 싶은 한 장소의 정보를 찾아내는 작업을 인덱싱이라고 하고 그 장소를 인덱스라고 합니다.
예를 들어 Hello에서 첫 번째 문자를 출력하기 위해서 인덱스 0을 사용할 수 있습니다.
a = "Hello"
print(a[0])
문자 다음에 나오는 []
대괄호 안에 있는 숫자는 문자의 인덱스입니다.
일상생활에서 '처음'이라고 하면 보통 1을 생각합니다.
하지만 배열(문자열, 리스트 등)에서 첫 번째 인덱스를 출력하기 위해서 0을 사용합니다.
2번째는 1이고 3번째는 2입니다.
이 이유는 조금 뒤에 설명하겠습니다.
그 이유는 인덱스는 0부터 시작하므로 5번째 인덱스는 4입니다.
5 인덱스는 존재하지 않기 때문에 에러가 발생합니다. :::
문자 인덱싱 (x ~ y 값)
문자에서 어떤 범위의 부분 문자를 구하기 위하여 다음과 같은 방법을 사용할 수 있습니다.
[]
안에 :
를 사용하여 :
전에 나오는 인덱스를 포함하고 :
다음에 나오는 인덱스는 제외하고 출력이 됩니다.
만일 0이 없이 ''
만 있어도 파이썬은 0이라고 인식합니다.
거꾸로 문자 뒤집기
문자를 거꾸로 바꾸기 위하여 인덱싱을 사용할 수도 있습니다.
옆의 예시에서 ::-1
은 0:0:-1
을 생략한 코드입니다.
마지막 숫자는 스텝을 뜻합니다.
스텝은 문자 인덱싱을 셀때 단위입니다.
예를 들면, 단위를 2로 정하면 2 문자 중 하나씩만 출력됩니다.
스텝을 -1로 입력하면 거꾸로 바꿀 수 있습니다.
인덱싱 x를 사용하면 x-1인 이유
왜 저희는 목록의 첫 번째로 1을 사용하는데 코딩에서는 0부터 시작할까요?
그 이유는 '수학'입니다. 리스트는 한국어로 번역하면 '목록'입니다. 목록에는 '순서'가 있습니다.
예를 들어 1에서 시작하여 2씩 증가하는 리스트를 만들겠습니다.
1, 3, 5, 7 처음에 1에서 시작했습니다. 처음에는 1 + (2 * 0)입니다.
1에서 2 증가했습니다. 이 순서의 공차(차이)는 2입니다. 두 번째 값은 1 + (2+1)입니다.
이렇게 계속하면 다음과 같은 공식이 나옵니다.
a = 1 + {2 * (a-1)} 그래서 첫 번째 리스트 값을 0을 이용해서 찾는 이유는 공차의 값을 기준으로 0이 곱해졌기 때문입니다.
:::