본문 바로가기
IT지식/Python

파이썬 인덱스(index)

by 모두의 향연 2021. 10. 9.
728x90
반응형

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]

 

>>> 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가 나왔네?
>>> 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, 문자열은 읽기 전용.

728x90
반응형

'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