본문 바로가기
개발/python

[python] 리스트(List) 소개

by 77monkey 개발자 2024. 9. 20.
반응형

 

 

 

 

python에는 리스트(List)라는 데이터 자료형이 있습니다. 다양한 기능과 메서드가 있어서 유용합니다. 오늘은 리스트(List)에 대해서 알아보도록 하겠습니다.

 

리스트(List)

리스트(List)는 여러 항목을 저장할 수 있는 가변 길이의 순서가 있는 컬렉션입니다. 리스트는 다른 데이터 타입의 항목을 혼합해서 저장할 수 있어서 활용도가 높습니다.

 

리스트(List) 생성

리스트는 대괄호 [ ]를 사용하여 생성할 수 있고, 다양한 데이터 타입을 포함할 수 있습니다.

empty_list = []
my_list = [77, "monkey", [1,2,3]]
print(empty_list)
print(my_list)

empty_list는 빈 리스트를 의미하고, my_list는 숫자인 77과 문자열인 "monkey"와 리스트인 [1,2,3]을 가지는 리스트(List)입니다. print를 통해서 출력하면 아래와 같은 결과를 얻을 수 있습니다.

리스트(List) 예시
리스트(List) 예시

리스트(List) 인덱싱

리스트는 0부터 시작하는 인덱스를 사용해 요소에 접근할 수 있습니다. 문자열에서 해보신 것처럼 진행하시면 됩니다.

my_list라는 리스트에서 2번 인덱스를 가지는 것은 [1,2,[3,4,5]]입니다. my_list[2]에서 2번 인덱스를 가지는 것은 [3,4,5]입니다. my_list[2][2]에서 1번 인덱스를 가지는 것은 4입니다. 그래서 결국 my_list[2][2][1]의 값은 4가 됩니다.

my_list = [77, "monkey", [1,2,[3,4,5]]]
print(my_list[2][2][1]) #4

 

리스트(List) 슬라이싱

리스트의 특정 구간을 가져오고 싶을 때에 슬라이싱을 사용합니다. 위에서 예를 들었던 예시를 다시 들어보겠습니다. 결과를 한번 예측해 볼까요?

my_list = [77, "monkey", [1,2,[3,4,5]]]
print(my_list[1:]) 
print(my_list[2][:2])

첫번째는 my_list의 1번 인덱스부터 끝까지를 의미하므로 ['monkey', [1, 2, [3, 4, 5]]]가 출력됩니다.

두 번째는 my_list의 2번 인덱스를 가지는 것이 [1, 2, [3, 4, 5]]인데, 처음부터 2번 인덱스 전까지 출력하기 때문에 [1, 2]가 출력이 됩니다.

리스트(List) 슬라이싱 예시
리스트(List) 슬라이싱 예시

리스트(List) 수정 및 삭제

리스트(List)의 요소는 가변적이기 때문에 직접 수정할 수 있습니다.  리스트에서 수정을 원하는 인덱스를 선택한 다음에 바꾸고 싶은 값으로 변경하면 됩니다. 저는 예시로 숫자를 작성했지만, 리스트나 문자열과 같은 다른 데이터 자료형도 가능합니다.

my_list = [77, "monkey", [1,2,[3,4,5]]]
my_list[2] = 77
print(my_list) #[77, 'monkey', 77]

 

del 키워드를 사용하여 리스트의 특정 인덱스의 요소를 삭제하거나 리스트 자체를 삭제할 수 있습니다. 

my_list = [77, "monkey", [1,2,[3,4,5]]]
del my_list[2]
print(my_list)
del my_list

 

my_list[2]을 했기 때문에 [1,2,[3,4,5]]가 my_list에서 삭제됩니다. 마지막에 my_list를 del로 지웠기 때문에 출력을 할 수 없어서 print를 할 수가 없었습니다.

리스트(List) 삭제 예시
리스트(List) 삭제 예시

마무리

리스트(List)는 정말 막강한 힘을 가진 데이터 자료형입니다. 오늘 작성한 내용 중에 헷갈리는 부분이 있거나 잘 이해가 안 가는 부분이 있으면 잘 짚고 넘어가시길 바랍니다. 다음 시간에는 리스트(List)의 관련 함수들에 대해서 알아보도록 하겠습니다.

반응형

'개발 > python' 카테고리의 다른 글

[python] 튜플(Tuple)  (0) 2024.09.22
[python] 리스트(List) 관련 함수  (0) 2024.09.21
[python] 문자열 관련 함수  (0) 2024.09.19
[python] 문자열 인덱싱과 슬라이싱  (0) 2024.09.18
[python] 문자열 연산  (1) 2024.09.17