MoonNote

반응형
     

 

 

리스트(List)

리스트(List)는 파이썬에서 가장 많이 사용되는 데이터 타입 중 하나로 여러 값을 하나의 변수에 저장할 수 있는 데이터 구조입니다. 리스트는 대괄호([])로 감싸고 각 요소는 쉼표(,)로 구분됩니다. 타 언어의 배열 데이터 타입과 유사하게 파이썬에서는 리스트로 처리한다고 생각하면 되겠습니다. 리스트는 다양한 자료형을 저장할 수 있으며 동적으로 크기를 조절할 수 있습니다.

예시

fruits = ['apple', 'banana', 'cherry']
mixed_list = [1, 'hello', 3.14, True]

 

TIP
 
 

배열과 리스트 비교
배열은 크기가 고정, 리스트는 가변(mutable)
배열은 동일한 자료형으로만 구성, 리스트는 여러 자료형으로 구성 가능
배열은 값을 저장하는 방식, 리스트는 객체 참조

대괄호([])의 개수에 따라 차원 구분
예: 1차원 리스트 - [1, 2, 3], 2차원 리스트[[1, 2, 3], [4, 5, 6]]

 

인덱싱(Indexing)과 슬라이싱(Slicing)

배열처럼 데이터 묶음을 처리하므로 인덱싱과 슬라이싱에 대해 알아야 하는데요. 인덱스란, 각 데이터의 위치 정보를 나타내는 숫자 값으로 0부터 시작하며 음수를 사용하면 끝에서부터 각 데이터 요소에 접근하겠다는 의미입니다.  슬라이싱은 이러한 리스트의 일부를 추출하는 데 사용합니다. 아래는 간단한 사용법 예시입니다.

 

fruits = ['apple', 'banana', 'cherry', 'date']

print(fruits[0])
print(fruits[-1])
print(fruits[1:3])
print(fruits[:2])
print(fruits[2:])

 

더보기

apple
date
['banana', 'cherry']
['apple', 'banana']
['cherry', 'date'] 

 

리스트 메소드(List Method)

 다양한 메서드를 제공하여 리스트 데이터를 조작할 수 있습니다. 리스트 메서드는 리스트에 요소를 추가, 제거, 정렬하는 등의 다양한 기능을 제공합니다. 아래 테이블 표는 요소 추가, 제거, 정렬 등 리스트를 다루기 위해사용되는 함수들입니다.

 

함수 설명
append() 리스트 맨 뒤에 요소를 추가
pop() 리스트 맨 뒤 요소를 삭제
sort() 리스트 항목 정렬
reverse() 리스트 항목 뒤집기
index() 지정한 값을 찾아 위치(인덱스 정보) 반환
insert() 지정된 위치에 값을 삽입
remove() 리스트에서 지정한 값을 삭제(값이 여러개일 경우, 첫 번째 값만 삭제함)
extend() 지정한 리스트 뒤에 리스트 추가
count() 리스트에서 지정한 값의 개수 정보 반환
clear() 리스트 요소 모두 지우기
del() 리스트에서 지정한 위치의 요소 항목을 삭제
len() 리스트에 포함된 요소의 개수(length) 정보 반환
copy() 리스트 내용을 새로운 리스트에 복사
sorted() 리스트 항목을 정렬해서 새로운 리스트에 대입

 

예제

numbers = [3, 1, 4, 1, 5]
numbers.append(9)
print(numbers)
numbers.remove(1)
print(numbers)
numbers.sort()
print(numbers)
numbers.reverse()
print(numbers)

 

더보기

[3, 1, 4, 1, 5, 9]
[3, 4, 1, 5, 9]
[1, 3, 4, 5, 9]
[9, 5, 4, 3, 1]

 

얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)

 파이썬에서 리스트는 가변(mutable)한 자료형으로 요소 변경이 가능합니다. 따라서 리스트를 복사하는 경우에 주의를 요해야 하며 얕은 복사와 깊은 복사의 개념을 알아두는 것이 좋습니다. 얕은 복사의 경우 참조를 공유하므로 원본 리스트가 변경되면 복사본도 같이 변경되어 버립니다.

 

original = [1, 2, 3]
shallow_copy = original # 얕은 복사
deep_copy = original[:] # 깊은 복사

original[0] = 100
print(shallow_copy)
print(deep_copy)

 

더보기

shallow copy 결과: [100, 2, 3]
deep copy 결과: [1, 2, 3]

 

 

 

 

 

 

 

 

 

 

※ 이 글이 도움이 되었다면 "👆🏻구독"과 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band