개발 공부

[파이썬 슬라이스 사용하기] feat. 시퀀스 자료형

도됐좋 2024. 1. 16. 09:13
순서
1. 시퀀스 자료형
2. 슬라이스
3. 슬라이스 기능 활용

 

✅ 시퀀스 자료형

시퀀스

- 데이터를 순서대로 하나씩 나열하여 나타낸 데이터 구조

- 각 데이터의 위치를 가리키는 인덱스가 지정됨

 

파이썬의 시퀀스 자료형

- 종류

   1. 문자열 ex) 'Hello World'

   2. 리스트 ex) [1, 2, 3, 4, 5]

   3. 튜플 ex) ('New Year', 2024)

 

- 특징

   1. 순서가 유지됨

   2. 정수로 인덱싱

   3. 길이 존재

   #시퀀스 자료형 종류
   a = 'Hello World'		# 문자열
   b = [1, 2, 3, 4, 5]		# 리스트
   c = ('New Year', 2024)	# 튜플
   
   #인덱싱 순서
   a[0]		# 'H'
   b[-1]	# 5
   c[1]		# 2024
   
   # 시퀀스 길이
   len(a)	#11
   len(b)	#5
   len(c)	#2

 


 

✅ 슬라이스

- 시퀀스의 일부분을 취하는 것

- 기본적인 구문  s[start : end]

   **start와 end 인덱스는 정수

   **start '이상', end '미만'

   **인덱스 생략시 리스트의 시작이나 끝을 기본값으로 사용

   **인덱스 -1은 뒤에서 첫번째 요소 

a = [1, 2, 3, 4, 5]

a[1:4]		#[2, 3, 4]
a[-3:]		#[3, 4, 5]
a[:4]		#[1, 2, 3, 4]

 


 

✅ 슬라이스 기능 활용

슬라이스 재할당

- 리스트에서 슬라이스를 다시 할당하거나 삭제 가능

a = [1, 2, 3, 4, 5]
a[2:4] = [0, 0, 0]		#a=[1, 2, 0, 0, 0, 5]

 

 시퀀스 축소

- 시퀀스를 단일 값으로 반환하는 몇가지 함수 존재

s = [1, 2, 3, 4]
sum(s)		#10
min(s)		#1
max(s)		#4

t = ['Hello', 'World']
max(t)		#'World'

 

인덱스 증가폭 사

- 시퀀스객체[시작인덱스 : 끝인덱스 : 인덱스증가폭]

a = [1, 2, 3, 4, 5, 6]
a[1 : 5 : 2]		#[2, 4]

 

 인덱스 생략

a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a[ : -1 : 2]		#[0, 2, 4, 6, 8]
a[4 : : 3]		#[4, 7]
a[ : : ]		#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]