💻 프로그래밍/Python

[파이썬] 리스트(List)

gameuiux 2024. 5. 26. 17:16
728x90
반응형

리스트(List)

파이썬에서 리스트는 가변적인 순서가 있는 컬렉션 데이터 구조로, 다양한 데이터 타입을 저장할 수 있다.

리스트는 대괄호 [ ]로 정의되며, 요소는 쉼표로 구분된다.

 

 

 

리스트 생성

# 빈 리스트 생성
empty_list = []

# 여러 타입의 요소를 가진 리스트 생성
my_list = [1, "Hello", 3.14, True]

 

 

 

리스트 인덱싱

리스트의 각 요소는 인덱스를 사용하여 접근할 수 있다. 인덱스는 0부터 시작

my_list = [10, 20, 30, 40, 50]

# 첫 번째 요소
print(my_list[0])  # 출력: 10

# 마지막 요소
print(my_list[-1])  # 출력: 50

 

 

 

리스트 슬라이싱

슬라이싱을 사용하여 리스트의 부분집합을 얻을 수 있다.

my_list = [10, 20, 30, 40, 50]

# 인덱스 1부터 3까지 요소 추출 (3은 포함되지 않음)
print(my_list[1:3])  # 출력: [20, 30]

# 처음부터 인덱스 3까지 요소 추출
print(my_list[:4])  # 출력: [10, 20, 30, 40]

# 인덱스 2부터 끝까지 요소 추출
print(my_list[2:])  # 출력: [30, 40, 50]

 

 

 

리스트 변경

리스트는 가변적이므로 요소를 추가, 제거, 변경할 수 있다.

my_list = [10, 20, 30]

# 요소 변경
my_list[1] = 25
print(my_list)  # 출력: [10, 25, 30]

# 요소 추가
my_list.append(40)
print(my_list)  # 출력: [10, 25, 30, 40]

# 요소 삽입
my_list.insert(1, 15)
print(my_list)  # 출력: [10, 15, 25, 30, 40]

# 요소 제거
my_list.remove(25)
print(my_list)  # 출력: [10, 15, 30, 40]

# 마지막 요소 제거
last_element = my_list.pop()
print(last_element)  # 출력: 40
print(my_list)  # 출력: [10, 15, 30]

 

 

 

리스트 메서드

append(x): 리스트 끝에 x 추가
extend(iterable): iterable의 모든 요소를 리스트 끝에 추가
insert(i, x): 인덱스 i에 x 삽입
remove(x): 리스트에서 첫 번째로 나오는 x 제거
pop([i]): 인덱스 i에 있는 요소 제거 및 반환 (인덱스 생략 시 마지막 요소 제거)
clear(): 리스트 모든 요소 제거
index(x[, start[, end]]): 리스트에 있는 x의 첫 번째 인덱스 반환
count(x): 리스트에서 x의 개수 반환
sort(key=None, reverse=False): 리스트 요소 정렬
reverse(): 리스트 요소 순서 반전
copy(): 리스트 얕은 복사본 반환

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]

# 정렬
my_list.sort()
print(my_list)  # 출력: [1, 1, 2, 3, 4, 5, 5, 6, 9]

# 역순
my_list.reverse()
print(my_list)  # 출력: [9, 6, 5, 5, 4, 3, 2, 1, 1]

# 복사
new_list = my_list.copy()
print(new_list)  # 출력: [9, 6, 5, 5, 4, 3, 2, 1, 1]

 

index(x[, start[, end]])

index() 메서드는 리스트에서 특정 값 x의 첫 번째 인덱스를 반환

선택적으로 검색을 시작할 위치(start)와 종료할 위치(end)를 지정할 수 있다.

범위는 [start, end] 형태로, start는 포함되고 end는 포함되지 않음

my_list[0] = 1
my_list[1] = 2
my_list[2] = 3
my_list[3] = 4
my_list[4] = 2
my_list[5] = 5
my_list = [1, 2, 3, 4, 2, 5]

# 리스트 안에 있는 값 2의 첫 번째 인덱스 반환
print(my_list.index(2))  # 출력: 1

# 인덱스 2부터 검색 시작
print(my_list.index(2, 2))  # 출력: 4

# 인덱스 2부터 4까지 검색
print(my_list.index(2, 2, 4))  # ValueError 발생 (해당 범위에 값 2가 없음)

 

count(x)

count() 메서드는 리스트에서 특정 값 x가 몇 번 나타나는지 반환다.

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

# 값 2의 개수 반환
print(my_list.count(2))  # 출력: 2

# 값 3의 개수 반환
print(my_list.count(3))  # 출력: 1

# 값 6의 개수 반환 (리스트에 값 6이 없으므로 0 반환)
print(my_list.count(6))  # 출력: 0

 

sort(key=None, reverse=False)

sort() 메서드는 리스트의 요소를 정렬한다.

기본적으로 오름차순으로 정렬되지만, reverse=True로 설정하면 내림차순으로 정렬할 수 있다.

key 매개변수를 사용하면 정렬 기준을 커스터마이징할 수 있다.

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5]

# 기본 오름차순 정렬
my_list.sort()
print(my_list)  # 출력: [1, 1, 2, 3, 4, 5, 5, 6, 9]

# 내림차순 정렬
my_list.sort(reverse=True)
print(my_list)  # 출력: [9, 6, 5, 5, 4, 3, 2, 1, 1]

# 문자열 길이를 기준으로 정렬
str_list = ["apple", "banana", "cherry", "date"]
str_list.sort(key=len)
print(str_list)  # 출력: ['date', 'apple', 'banana', 'cherry']

 

리스트는 파이썬에서 매우 유연하고 강력한 자료형으로, 다양한 상황에서 데이터를 저장하고 조작하는 데 사용된다.

 

 

 

관련글

 

[파이썬] 데이터 구조 - List, Tuple, Dictionary, Set, String, Array

데이터 구조파이썬에서는 데이터를 다루기 위한 다양한 방법과 데이터 구조를 제공한다.각 데이터 구조는 특정한 용도와 특성을 가지며,적절한 데이터 구조를 선택하면 코드의 효율성과 가독

gameuiux.tistory.com

 

728x90
반응형