프로그래밍/Python

[ Python ] 파이썬 리스트 인덱싱,슬라이싱 파이썬 리스트 쓰는 방법 [2]

리신 2021. 12. 1. 23:24
반응형

 

파이썬 리스트 인덱싱 이란?

리스트에서 요소의 위치를 인덱스(index)라 하고,

특정 위치의 요소를 가져오는 것을 인덱싱(indexing)이라고 함.

파이썬 인덱싱 특징
- 파이썬에서 리스트 인덱싱은 음수 인덱식값도 허용함.
(때문에다른 언어와 달리 파이썬은 -1로도 쉽게 마지막열을 찾을 수 있음)

- 값은 역순으로 인덱싱됨

 

s = 'I really want to eat Yeopgi Tteokbokki'.split()
print(s)
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4])
print(s[5])
print(s[6])

### 출력 ###
#['I', 'really', 'want', 'to', 'eat', 'Yeopgi', 'Tteokbokki']
# I
# really
# want
# to
# eat
# Yeopgi
# Tteokbokki

 

 


 

파이썬 리스트 슬라이싱 이란?

연속적인 객체들에(예: 리스트, 튜플, 문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미함.

슬라이싱을 하면 새로운 객체를 생성하게 됨.

즉, 일부분을 복사해서 가져온다고 생각!!

 

사용방법
리스트변수[시작인덱스:종료인덱스:step]
참고 : 종료 인덱스의 원소는 포함되지 않음. 

 

 

 

[시작:종료] step생략

s = 'I really want to eat Yeopgi Tteokbokki'.split()
s[1:2]

### 출력 ###
#['really', 'want']

 

 

 

[시작:-1]  음수 인덱싱 사용

s = 'I really want to eat Yeopgi Tteokbokki'.split()
s[1:-1]

### 출력 ###
#['really', 'want', 'to', 'eat', 'Yeopgi']

 

 

 

[시작:] 종료인덱스, step생략

s = 'I really want to eat Yeopgi Tteokbokki'.split()
s[2:]

### 출력 ###
#['want', 'to', 'eat', 'Yeopgi', 'Tteokbokki']
  • 시작인덱스 부터 끝까지 포함

 

 

 

[:종료] 시작인덱스, step생략

s = 'I really want to eat Yeopgi Tteokbokki'.split()
s[:2]

### 출력 ###
#['I', 'really']
  • 인덱스의 처음부터 종료인덱스 앞까지 포함

 

 

 

[ : ] 전체

s = 'I really want to eat Yeopgi Tteokbokki'.split()
copy = s[:]
copy

### 출력 ###
#['I', 'really', 'want', 'to', 'eat', 'Yeopgi', 'Tteokbokki']
  • 모든 값을 복사하여 copy에 담음 (s와 copy는 다른 변수임)

 

 

 

리스트 복사 방법들

s = 'I really want to eat Yeopgi Tteokbokki'.split()

# 복사 방법1
copy1 = s.copy()
# 복사 방법2
copy2 = list(s)

print(copy1)
print(copy2)

### 출력 ###
#['I', 'really', 'want', 'to', 'eat', 'Yeopgi', 'Tteokbokki']
#['I', 'really', 'want', 'to', 'eat', 'Yeopgi', 'Tteokbokki']

 

 

 

step사용

s = 'I really want to eat Yeopgi Tteokbokki'.split()
s[::3]

### 출력 ###
#['I', 'to', 'Tteokbokki']
  • 처음부터 3칸씩 이동해서 포함

 

 

reverse 사용

s = 'I really want to eat Yeopgi Tteokbokki'.split()
s[::-1]

### 출력 ###
#['Tteokbokki', 'Yeopgi', 'eat', 'to', 'want', 'really', 'I']
  • 리벌스(거꾸로)되서 출력

 

 

 

 

반응형