본문 바로가기

Study/Python

파이썬 - 인덱싱(Indexing)

728x90

[20240929] 인덱싱(Indexing)

I. 시퀀스 자료형 요소의 접근 방법 - 인덱싱(indexing)

시퀀스 자료형은 여러 값으로 이루어져 있는데 인덱스를 사용하여 중간값에 접근할 수 있다.

 

E. 시퀀스 자료형이 n개의 값을 가질 때 인덱스 구조

첫 번째 요소 두 번째 요소 ... 뒤에서 두 번째 요소 뒤에서 첫 번째 요소
0 1 ... (n-2) (n-1)
-n -(n-1)   -2 -1

 

Ex. a = [4, 2, 7, 3, 5]

4 2 7 3 5
a[0] a[1]
a[-4] -> -(요소5개-1)
a[2]
a[-3]
a[3]
a[-2]
a[4]
a[-1]

 

E. 인덱싱은 문자열, 리스트 같은 자료구조에서 사용한다.

E. 문자열 인덱싱은 문자열에 부여된 번호로 원하는 문자를 가르킬 때 사용한다.

E. 문자열 앞에서부터 시작하면 인덱스는 0부터 시작하고, 뒤에서부터 시작하면 -1 부터 시작한다.

 

II. 파이썬 문자열 인덱싱(실습)

print("seulgae"[3])
print("seulgae"[-7])
str = "seulgae"
print(str[1])

 

호출결과

 

II. 파이썬 문자열 인덱싱(실습2)

t = ('s', 'j', 'b')
print(t[0])

 

호출결과

 

I. 시퀀스 자료형 요소 접근 방법 - 슬라이싱(Slicing)     

슬라이싱은 시퀀스 자료형에서 여러 개의 데이터에 동시에 접근하는 기법.

시퀀스변수명[시작:종료:스텝]
형태 설명
시작 슬라이싱을 시작할 인덱스
생략할 경우 '시퀀스변수명[:종료]' 또는 '시퀀스변수명[:종료:스텝]' 형태가 됨
생략할 경우 처음부터 슬라이싱
종료 슬라이싱을 종료할 인덱스
종료 인덱스에 있는 인덱스 전까지만 슬라이싱
생략할 경우 '시퀀스변수명[시작:]' 또는 '시퀀스변수명[시작::스텝]' 형태가 됨
생략할 경우 마지막까지 슬라이싱
스텝 몇 개씩 끊어서 슬라이싱을 할지 결정하는 값
생략할 경우 '시퀀스변수명[시작:종료]' 또는 '시퀀스변수명[시작:종료:]' 형태가 됨
생략할 경우 1이 기본값

 

II. 문자열 슬라이싱(실습)

문자열 슬라이싱은 문자열에서 부분 문자열을 추출하기 위해 사용한다.

print("seulgae"[1:])

# [0][1][2][3][4][5][6]
#  s  e  u  l  g  a  e

# 시작 위치만 지정하면 다음과 같이 슬라이싱
# [1][2][3][4][5][6]
#  e  u  l  g  a  e

print("seulgae"[2:4])

# [0][1][2][3][4][5][6]
#  s  e  u  l  g  a  e

# 2번째부터 시작해서 3번째(4-1번째)까지 슬라이싱, step은 생략되어 기본값인 1, 따라서 ul만 출력
# [2][3]
#  u  l 

print("seulgae"[:3])

# [0][1][2][3][4][5][6]
#  s  e  u  l  g  a  e

# [0][1][2]
#  s  e  u

 

호출결과

 

T. 슬라이싱은 문자열을 복사해서 출력한다. 기존 변수값 변경 x

a = "seulgae"
print(a[1:])
print(a)

 

호출결과

 

II. 리스트 슬라이싱(실습)

리스트 슬라이싱은 리스트의 원하는 부분만 추출한다.

 

T. [0:4:2] 에서 제일 마지막 Step의 역활은 끊어서 슬라이싱 하는 기능이다.

a = [4, 2, 7, 3, 5]
print(a,[0:4:2])

# [0][1][2][3][4]
#  4  2  7  3  5

# [0][1][2][3]
#  4  2  7  3

# 0번 인덱스부터 2개씩 끊어서 슬라이싱

# [0][2]
#  4  7

 

호출결과

 

II. 튜플 슬라이싱(실습)

튜플 슬라이싱은 튜플의 원하는 부분을 추출하기 위해 사용한다.

t = ('s', 'j', 'b')
print(t[1:])

 

호출결과

반응형