파이썬(Python)에서는 배열 형태를 다루는 객체 타입으로 리스트(List)가 있다. 이때 리스트 슬라이스를 통해서 원소를 추출(접근) 또는 변환할 수 있다.
리스트 슬라이스
1) 개별 원소 추출(접근), 변환
a. 개별 원소 추출(접근)
리스트의 개별 원소를 추출(접근)하기 위해 각 괄호에 숫자(인덱스)를 넣어준다. 각 괄호 안에 들어가는 숫자는 0부터 (원소 개수-1)까지 또는 -(원소 개수)부터 -1까지이다. 이때 -1은 가장 마지막 원소를 뜻하며 -2는 가장 오른쪽에서 두 번째 원소를 의미한다.
l = ['a', 'b', 'c']
print(l[0]) ## 첫 번째 원소
print(l[1]) ## 두 번째 원소
print(l[2]) ## 세 번째 원소
print(l[-3]) ## 첫 번째(오른쪽에서 세 번째) 원소
print(l[-2]) ## 두 번째(오른쪽에서 두 번째) 원소
print(l[-1]) ## 세 번째(오른쪽에서 첫 번째) 원소
b. 개별 원소 변환
리스트(List) 슬라이스를 통해 특정 위치의 원소를 다른 값으로 변환할 수 있다.
l = ['a', 'b', 'c']
l[2] = 'e' ## 마지막 원소를 'e'로 변환
l[-3] = 'f' ## 첫 번째(오른쪽에서 세 번째) 원소를 'e'로 변환
print(l)
2) 여러 원소 추출(접근), 변환
a. 여러 원소 추출(접근)
리스트(List) 슬라이스(Slice)는 ':' 를 통해 여러 원소를 추출할 수 있다. 아래 코드와 주석을 통해 사용법을 익혀보자.
l = ['a', 'b', 'c', 'd', 'e', 'f']
print(l[2:6]) ## 세 번째 원소부터 6번째 원소까지
print(l[3:]) ## 네 번째 원소부터 끝까지
print(l[:4]) ## 처음부터 네 번째 원소까지
print(l[::2]) ## 처음부터 오른쪽으로 2칸씩 원소 추출
print()
print(l[-6:-2]) ## 처음부터 4번째 원소까지
print(l[::-2]) ## 마지막에서부터 오른쪽으로 2칸씩 원소 추출
print(l[::-1]) ## 순서 반전
b. 불규칙적으로 떨어져 있는 여러 원소 추출
두 번째, 세 번째, 다섯 번째 처럼 불규칙적으로 떨어져있는 원소들을 추출할 때는 컴프리헨션(Comprehension)을 이용한다.
l = [1,21,13,44,5,6]
print([l[i] for i in [1, 2, 4]]) ## 두 번째, 세 번째, 다섯 번째 원소 추출
다른 방법으로 operator 모듈에서 itemgetter를 통해서도 떨어져있는 원소들을 추출할 수 있다. 다만 앞에서와 다르게 튜플을 리턴한다.
from operator import itemgetter
print(itemgetter(1, 2, 4)(l)) ## 두 번째, 세 번째, 다섯 번째 원소 추출
c. 여러 원소 변환
앞에서의 여러 원소 추출을 위한 리스트(List) 슬라이스를 통하여 여러 원소를 변환할 수도 있다.
l = ['a', 'b', 'c', 'd', 'e', 'f']
l[0:3] = ['x', 'y', 'z'] ## 1~3번째 원소를 변환
print(l)
'프로그래밍 > Python' 카테고리의 다른 글
파이썬(Python) 리스트(List) 속에 원소 존재 여부, 원소 위치, 등장 횟수 알아보기 (feat, in, index, count) (36) | 2022.09.17 |
---|---|
파이썬(Python) 리스트 결합(병합)하기 (feat. extend, + ) (0) | 2022.09.17 |
파이썬(Python) 문자열 단어 대체하기, 분리하기 (feat. replace, split) (0) | 2022.09.17 |
파이썬(Python) 문자열 배치 및 0으로 채우기 (feat. center, ljust, rjust, zfill) (0) | 2022.09.17 |
파이썬(Python) 영어 대문자, 소문자 다루기 (feat. capitalize, title, swapcase, upper, lower) (391) | 2022.09.17 |
댓글