1. 인덱스란
시퀀스 객체의 각 요소는 순서가 정해져 있으며, 이 순서를 인덱스라고 함
>>> a=[12,45,63,2]
>>> a[0]
12
>>> a[1]
45
>>> a[2]
63
>>> a[3]
2
보시면 알겠지만, 인덱스는 무조건 '0'부터 시작
튜플, range, 문자열도 []에 인덱스를 지정하면 해당 요소를 가져올 수 있다.
>>> b=(1,2,3,4,5)
>>> b[2]
3
>>> c=range(1,10,2) c=(1,3,5,7,9)
>>> c[3]
7
>>> d='Hello goodmorning!' #공백까지 개수친다
>>> d[5]
' ' #5번째 요소는 공백이라서 ''공백 출력
2. 음수 인덱스 지정하기
시퀀스 객체에 인덱스를 음수로 지정하면 뒤에서부터 요소에 접근하게 된다.
0부터 시작이니까 -1은 뒤 에서 첫 번째, -5는 뒤에서 다섯 번째 요소다.
>>> a=[10,20,30,40,50]
>>> a [-1]
50
>>> a [-5]
10
튜플, range, 문자열도 음수 인덱스를 지정하면 뒤에서부터 접근 가능하다.
>>> b=(1,2,3,4,5)
>>> b [-2]
4
>>> c=range(1,10,2) #c=(1,3,5,7,9)
>>> c [-3]
5
3. 인덱스의 범위를 벗어나면?
에러 납니다.
없는 수인데 당연히 에러 나죠.
>>> a=[10,20,30,40,50]
>>> a [5]
Traceback (most recent call last):
File "<pyshell#67>", line 1, in <module>
a[5]
IndexError: list index out of range
4. 마지막 요소에 접근하기
>>> a=[10,20,30,40,50]
>>> len(a) #a의 길이를 구하니
5 #5가 나왔네?
>>> a[5] #a의 길이가 5니까 a [5]하면 나오겠지? 응 오류~
Traceback (most recent call last): #인덱스는 뭐라고? 0부터 시작이라고~그래서 마지막은 길이-1해야 한다고
File "<pyshell#70>", line 1, in <module>
a[5]
IndexError: list index out of range
>>> a[4] #객체 a의 길이-1인 4까지 해야 된다
50
>>> a[(len(a)-1)]
50
5. 요소에 값 할당하기
>>> a=[0,0,0,0,0] #a의 요소에 다 0으로
>>> a[0]=1 #a의 인덱스 0에는 1을
>>> a[1]=2
>>> a[2]=3
>>> a[3]=4
>>> a[4]=5
>>> a #a리스트를 출력하면?
[1, 2, 3, 4, 5] #내가 넣은 요소들이 출력됨
단, 튜플, range, 문자열은 저장된 요소를 변경할 수 없다.
즉, 시퀀스 자료형 중에서 튜플, range, 문자열은 읽기 전용.
6. del로 요소 삭제하기
del 시퀀스 객체[인덱스]
>>> a=[10,20,30,40,50,]
>>> del a[2]
>>> a
[10, 20, 40, 50]
단, 튜플, range, 문자열은 저장된 요소를 삭제할 수 없다.
즉, 시퀀스 자료형 중에서 튜플, range, 문자열은 읽기 전용.
'IT지식 > Python' 카테고리의 다른 글
파이썬 딕셔너리 (0) | 2021.10.10 |
---|---|
파이썬 슬라이스(slice) (0) | 2021.10.10 |
파이썬 시퀀스 자료형 (1) | 2021.10.09 |
파이썬 튜플(tuple) (0) | 2021.10.08 |
파이썬 리스트(list) (0) | 2021.10.08 |