티스토리 뷰


[Python] 리스트 인덱싱 & 슬라이싱


리스트


숫자나 문자열을 모아서 저장하는 집합입니다.

리스트에 저장되어 있는 값에 대한 변경이 가능하며 순서를 변경할 수 있습니다.


리스트는 변수에 "[]"기호를 사용하여 생성할 수 있습니다.

아래는 odd 변수에 "2, 5, 8, 7, 9, 10, 13" 값을 리스트로 생성하였습니다.

코드 # 리스트 생성 및 리스트값 출력
odd = [258791013]
print(odd)
 
결과
[258791013]



리스트는 값에 대한 위치가 생성되며 아래와 같은 구조로 되어 있습니다.
0번 위치에 2라는 값이 저장되어있습니다. 1번 위치에는 5라는 값이 저장되어 있습니다.
이처럼 리스트는 위치가 존재하고 해당 위치에 값이 저장되어있는 구조입니다.




리스트 인덱싱


리스트의 위치를 사용하여 값에 접근할 수 있습니다.

코드 # odd 리스트에 있는 0번 위치와 1번 위치에 있는 값을 출력
odd = [258791013]
print(odd[0], odd[1])
 
결과
2 5



리스트를 인덱싱하여 사칙연산을 할 수 있습니다.

코드 # odd 리스트에 있는 0번 위치와 1번 위치에 있는 값을 가져온 후 사칙연산
odd = [258791013]
print(odd[0+ odd[1])
print(odd[0- odd[1])
 
결과
7
-3




리스트는 다른 리스트를 포함할 수 있습니다. 이러한 구조는 아래와 같습니다.

코드        # 7번 위치의 값은 리스트이며, 7번째 리스트 값에서 0번째 위치를 출력합니다.
odd = [258791013,['Hello''Python''Good']]
print(odd[7][0])
 
결과
Hello



print(odd[7])은 리스트의 7번 위치의 값을 지정하였습니다. 리스트의 7번 위치에 있는 값은 다른 리스트가 값으로 들어가 있으며 그다음 오는 Print의 [0]은 7번 값에 위치에 있는 리스트 중 첫번째 값을 지정합니다. 




리스트 슬라이싱


슬라이싱은 자르다, 나누다라는 것을 뜻하며 리스트 슬라이싱은 여러 위치에 있는 값을 한번에 잘라서 사용하는 것을 말합니다.

리스트의 슬라이싱 위치는 아래와 같은 구조를 가지고 있습니다.


-----------------------------------------------------------------
코드        # 0번 위치부터 4번 위치까지 값을 출력
odd = [258791013,['Hello''Python''Good']]
print(odd[0:4])
 
결과
[2587]
-----------------------------------------------------------------
 
-----------------------------------------------------------------
코드        # 2번 위치부터 5번 위치까지 값을 출력
odd = [258791013,['Hello''Python''Good']]
print(odd[2:5])
 
결과
[879]
-----------------------------------------------------------------
 
-----------------------------------------------------------------
코드        # 처음위치 값부터 5번 위치까지 값을 출력
odd = [258791013,['Hello''Python''Good']]
print(odd[:5])
 
결과
[25879]
-----------------------------------------------------------------
 
-----------------------------------------------------------------
코드        # 3번 위치부터 마지막위치까지 값을 출력
odd = [258791013,['Hello''Python''Good']]
print(odd[3:])
 
결과
[791013, ['Hello''Python''Good']]
-----------------------------------------------------------------




리스트 슬라이싱은 중첩된 리스트도 슬라이싱하여 값을 사용할 수 있습니다.

코드        # 7번 위치에 있는 리스트 값의 0번 위치부터 2번 위치까지 값을 출력
odd = [258791013,['Hello''Python''Good']]
print(odd[7][0:2])
 
결과
['Hello''Python']





리스트의 변경, 삭제


리스트의 지정한 위치 값을 변경합니다.

코드
odd = [258791013]
odd[0= 20        # odd 리스트의 0번 위치에 있는 값을 20으로 변경합니다.
print(odd)
 
결과
[2058791013]



리스트의 연속으로 지정된 위치의 값을 변경합니다.

코드
odd = [258791013]
odd[0:2= 2023    # odd 리스트의 0번 위치부터 2번 위치까지 값을 각각 20, 23으로 변경합니다.
print(odd)
 
결과
[20238791013]




리스트의 지정한 위치 값을 삭제합니다.

코드
odd = [258791013]
del odd[0]        # odd 리스트의 0번 위치 값을 삭제합니다.
print(odd)
 
결과
[58791013]



리스트의 연속으로 지정된 위치의 값을 삭제합니다.

코드
odd = [258791013]
del odd[0:2]        # odd 리스트의 0번 위치부터 2번 위치까지 값을 삭제합니다.
print(odd)
 
결과
[8791013]





리스트 - 함수 응용


리스트 변수명 마지막에 ' . ' 을 붙여 여러가지 함수를 사용할 수 있습니다.

함수는 특정한 기능을 수행하기 위해 코드를 미리 작성하고 이름을 붙여 사용하는 것을 말합니다.


리스트에 값 추가

코드
odd = [258791013]
odd.append(40)        # odd 리스트에 '40'을 
print(odd)
 
결과
[25879101340]



리스트에 값 삽입

코드
odd = [258791013]
odd.insert(0,10)        # odd 리스트 0번 위치에 10을 추가
print(odd)
 
결과
[10258791013]



리스트의 값 개수 Count

코드
odd = [10258791013]
print(odd.count(10))    # odd 리스트에서 값이 "10" 요소를 카운트
 
결과
2



리스트 값 정렬

코드
odd = [10528710913]
odd.sort()        # odd 리스트에 있는 값을 오름차순으로 정렬
print(odd)
 
결과
[25789101013]



리스트 값 뒤집기

reverse는 오름차순 정렬 후 역순으로 표기해주는 것이 아닌, 현재의 리스트의 값의 위치를 뒤집어 줍니다.

코드
odd = [10528710913]
odd.reverse()        # odd 리스트의 값의 위치를 뒤집는다. 
print(odd)
 
결과
[13910782510]



리스트 값 위치 반환

코드
odd = [10528710913]
print(odd.index(8))        # odd 리스트의 값 중 "8"의 위치를 반환
 
결과
3




리스트 요소 제거

remove는 리스트의 "값"을 기준으로 제거합니다.

코드
odd = [10528710913]
odd.remove(8)        # odd 리스트 값 중 "8"을 제거
print(odd)
 
결과
[1052710913]



리스트 요소 꺼내기

pop는 리스트의 "위치"를 기준으로 제거합니다.

코드
odd = [10528710913]
odd.pop(3)        # odd 리스트의 3번째 위치한 값을 제거
print(odd)
 
결과
[1052710913]





'[Dev] > Python' 카테고리의 다른 글

[Python] 딕셔너리(Dictionary)  (0) 2017.11.30
[Python] 튜플 인덱싱 & 슬라이싱  (0) 2017.11.30
[Python] Python Print 함수 - 2  (0) 2017.11.29
[Python] Python Print 함수 - 1  (0) 2017.11.29
[Python] Mac에서 Python3 Module 설치  (2) 2017.11.29
Comments
최근에 올라온 글