-
[Python] 리스트 인덱싱과 슬라이싱개발 프로세스/Back-end 2021. 7. 14. 02:24
인덱싱(indexing)이란?
인덱싱이란 리스트에 있는 값에 접근하기 위해, 이 값의 상대적은 주소(offset)를 사용하는 것이다. 첫 번째 값을 0으로 했을 때 첫 번째 값과 얼마나 떨어져 있는지를 표현한 값으로 인덱스 주소, 인덱스값이라고 한다.
* 리스트의 주소값은 왜 0부터 시작할까?
1부터 시작하는 것보다 0부터 시작하면 이진수 관점에서 메모리를 절약할 수 있다. 또한 진수에서 00부터 사용할 수 있는 장점도 있다.
cities = ['서울', '부산', '인천', '대구', '대전', '광주', '울산', '수원']
* cities 변수의 인덱스
값 '서울' '부산' '인천' '대구' '대전' '광주' '울산' '수원' 인덱스 0 1 2 3 4 5 6 7 print(cities[0]) print(cities[2]) print(len(cities))
>> 서울
>> 인천
>> 8
슬라이싱(slicing)이란?
리스트의 인덱스를 사용하여 전체 리스트에서 일부를 잘라내어 반환한다. 파이썬의 리스트에서 마지막 인덱스값은 출력되지 않는다. '마지막 인덱스 - 1'까지만 출력된다. 마지막 인덱스가 다음 리스트의 시작 인덱스가 되어 코드를 작성할 때 쉽게 이해할 수 있다는 장점이 있다.
# cities >= 0 and cities < 5 cities[0:5]
>> ['서울', '부산', '인천', '대구', '대전']
# cities >= 5 cities[5:]
>> ['광주', '울산', '수원']
리버스 인덱스(reverse index)
마지막 값부터 -1을 할당하여 첫 번째 값까지 역순으로 올라오는 방식이다.
cities = ['서울', '부산', '인천', '대구', '대전', '광주', '울산', '수원'] print(cities[-8:])
>> ['서울', '부산', '인천', '대구', '대전', '광주', '울산', '수원']
* cities 변수의 리버스 인덱스
값 '서울' '부산' '인천' '대구' '대전' '광주' '울산' '수원' 인덱스 -8 -7 -6 -5 -4 -3 -2 -1 증가값 (step)
슬라이싱에서는 시작 인덱스와 마지막 인덱스 외에 마지막 자리에 증가값을 넣을 수 있다.
변수명[시작 인덱스 : 마지막 인덱스 : 증가값]
cities = ['서울', '부산', '인천', '대구', '대전', '광주', '울산', '수원'] # 2칸 간격으로 출력/ 시작인덱스, 마지막인덱스가 비어있으므로 전체 출력 cities[::2] # 역방향으로 출력/ 시작인덱스, 마지막인덱스가 비어있으므로 전체 출력 cities[::-1]
>> cities = ['서울', '인천', '대전', '울산']
>> cities = ['수원', '울산', '광주', '대전', '대구', '인천', '부산', '서울']
'개발 프로세스 > Back-end' 카테고리의 다른 글
[Python] 중첩 for문을 활용한 2차원 리스트 생성 (0) 2021.07.15 [Python] 리스트 조작 함수 (0) 2021.07.14 [Python] datetime document (0) 2021.07.13 [Python] Anaconda Jupyter Notebook Kernel Error 시 해결방법 (0) 2021.07.07 [Python] 산술 연산자, 대입 연산자 종류 (0) 2021.07.06