Python

[Python/파이썬] List : 리스트 길이(len), 리스트 인덱싱(Indexing), 리스트 슬라이싱(Slicing)

wowstudylog 2024. 10. 24. 22:34
반응형

리스트(List) 


 



1,2,3,4,5의 모음을 리스트를 사용하면 다음과 같이 표현이 가능하다.

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

 

 

a = []
b = [1, 2, 3]
c = ['studying', 'is', 'fun']
d = [1, 2, 'three', 'four']
e = [1, 2, ['studying', 'is']]

이러한 형태로도 리스트를 쓸 수 있다.
리스트 안에는 문자열과, 숫자 모두 가능하고, 섞어서도 사용할 수 있다.
또한 리스트 안에 리스트도 가능하다.

 

 

 

#리스트 길이: len()

data = [1, 2, 3]
len(data)
>>> 3

 

 

 

#리스트 참조

a = [1, 2, 3, 4, 5]
b = [0, 2, 4, 6, 8]
a[0]
>>> 1
b[0]
>>> 0

 

 

a[0] = b[0]
a
>>> [0, 2, 3, 4, 5]
a[-1] = "end"
>>> [0, 2, 3, 4, 'end']

참조를 이용해 리스트 요소값을 수정하고 싶을 때는

위와같이 수정하고 싶은 위치를 참조하여 = 원하는 요소값을 입력해 수정할 수 있다.

 

 

 

#인덱싱(Indexing)

 

data = [1, 2, 3]
data
>>> [1, 2, 3]

data[0]
>>> 1

리스트에서 첫 번째 값을 가리킬 때는 1이 아닌 0을 사용한다.
따라서 리스트에서 마지막 값은 요소 개수-1을 사용하여 인덱싱 가능하다.

 

 

data[0]+data[2]
>>> 4
data[-1]
>>> 3

리스트에서 -는 맨 뒤에서부터 가리킨다.
따라서 -1은 맨 뒤인 숫자3을 -2는 그 앞인 숫자2를 가리킨다.

 

 

data = [1, 2, 3, [4, 5]]
data[0]
>>> 1
data[3]
>>> [4, 5]

data[3]은 4번째 요소인 [4, 5]를 가리킨다.

 

 

data[3][0]
>>> 4

리스트 안의 리스트에서 값을 추출하고 싶을 때는 위와 같이 사용할 수 있다.
data[3]에서 [4, 5] 그리고 뒤에 [0]을 주어 첫 번째인 4를 불러올 수 있다.
5는 data[3][1]로 불러낼 수 있다.

 

 

 

#리스트 슬라이싱(Slicing): [start:stop:step]

 

data = [1, 2, 3, 4, 5]
data[0 : 3]
>>> [1, 2, 3]

슬라이싱은 [start:stop]일 경우, start부터 stop-1위치의 값까지 나타낸다.

 

 

data[2 : ]
>>> [3, 4, 5]
data[ : 2]
>>> [1 ,2]
data[ : ]
>>> [1, 2, 3, 4, 5]

[start : ]는 start부터 끝까지, [ : stop]는 처음부터 stop까지, [ : ]는 처음부터 끝까지 나타내는 리스트이다.

 

 

ata = [0,1,2,3,4,5,6,7,8,9]

#홀수만 출력
data[1::2]
>>> [1, 3, 5, 7, 9]

#0포함 짝수만 출력
data[::2]
>>> [0, 2, 4, 6, 8]

#0미포함 짝수만 출력
data[2::2]
>>> [2, 4, 6, 8]

step은 간격을 몇으로 두고 슬라이싱을 할 것인지 설정할 수 있다.

위처럼 step을 2로 설정하면 간격을 2로 하여 리스트에서 짝수 혹은 홀수값만 뽑아낼 수 있다.

그리고 step값을 적지 않을 경우, 디폴트 값이 1로 1간격씩 리스트의 요소값을 가져올 수 있다.

반응형