태그된 제품에 대해 수수료를 받습니다.
리스트(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']
리스트는 파이썬에서 매우 유연하고 강력한 자료형으로, 다양한 상황에서 데이터를 저장하고 조작하는 데 사용된다.
관련글
태그된 제품에 대해 수수료를 받습니다.