1. 리스트의 정의
- 리스트란
- 여러 값을 하나의 변수에 저장할 수 있는 자료형.
- 대괄호([])를 사용해 생성.
- 다양한 자료형을 한 리스트에 저장 가능.
# 정수 리스트
numbers = [1, 2, 3, 4, 5]
# 문자열 리스트
fruits = ["apple", "banana", "cherry"]
# 혼합 리스트
mixed = [1, "hello", 3.14, True]
2. 리스트의 주요 특징
- 순서 유지 (Ordered)
- 리스트는 요소가 추가된 순서를 유지하며, 각 요소는 고유한 인덱스(index)로 접근 가능.
- 가변적 (Mutable)
- 생성된 후에도 요소를 변경, 추가, 삭제할 수 있습니다.
- 중복 허용
- 동일한 값이 여러 번 포함될 수 있습니다.
data = [1, 2, 2, 3]
print(data) # [1, 2, 2, 3]
3. 리스트의 기본 연산
- 인덱싱 (Indexing)
- 특정 위치의 요소에 접근.
- 인덱스는 0부터 시작.
- 음수 인덱스를 사용하면 뒤에서부터 접근.
data = [10, 20, 30, 40, 50]
print(data[0]) # 10 (첫 번째 요소)
print(data[-1]) # 50 (마지막 요소)
- 슬라이싱 (Slicing)
- 리스트의 특정 구간을 추출.
- 형식 : list[start:end] (start는 포함, end는 제외)
data = [1, 2, 3, 4, 5]
print(data[1:4]) # [2, 3, 4]
print(data[:3]) # [1, 2, 3] (처음부터)
print(data[3:]) # [4, 5] (끝까지)
- 리스트 연결
- + 연산자를 사용해 리스트를 결합.
list1 = [1, 2]
list2 = [3, 4]
print(list1 + list2) # [1, 2, 3, 4]
- 리스트 반복
- * 연산자를 사용해 리스트 요소를 반복.
data = [1, 2]
print(data * 3) # [1, 2, 1, 2, 1, 2]
4. 리스트의 주요 메서드
Python은 리스트와 관련된 유용한 메서드를 제공합니다.
메서드 |
설명 |
예제 |
append(value) |
요소를 리스트 끝에 추가 |
data.append(6) |
insert(index, value) |
지정된 위치에 요소 추가 |
data.insert(2, "hi") |
remove(value) |
특정 값을 리스트에서 삭제 |
data.remove(2) |
pop(index) |
지정된 위치의 요소를 삭제하고 반환 |
data.pop(1) |
index(value) |
특정 값의 인덱스 반환 |
data.index(3) |
count(value) |
특정 값의 개수 반환 |
data.count(2) |
sort() |
리스트를 오름차순 정렬 |
data.sort() |
reverse()
|
리스트를 역순으로 뒤집음 |
data.reverse() |
data = [3, 1, 4, 1, 5]
# 요소 추가
data.append(9)
print(data) # [3, 1, 4, 1, 5, 9]
# 정렬
data.sort()
print(data) # [1, 1, 3, 4, 5, 9]
# 요소 삭제
data.remove(1)
print(data) # [1, 3, 4, 5, 9]
5. 리스트 컴프리헨션
리스트 컴프리헨션(List Comprehension)은 리스트를 간결하게 생성할 수 있는 문법입니다.
# [expression for item in iterable if condition]
# 1부터 10까지의 제곱 리스트 생성
squares = [x ** 2 for x in range(1, 11)]
print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
# 짝수만 포함하는 리스트
evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]
6. 리스트 활용 팁
- 중복 제거하기.
- 리스트를 집합(set)으로 변환 후 다시 리스트로 변환.
data = [1, 2, 2, 3, 4, 4]
unique_data = list(set(data))
print(unique_data) # [1, 2, 3, 4]
- 리스트 합치기
- extend() 메서드를 사용하면 기존 리스트에 다른 리스트를 추가 가능.
list1 = [1, 2]
list2 = [3, 4]
list1.extend(list2)
print(list1) # [1, 2, 3, 4]
출처 : https://school.programmers.co.kr/learn/courses/2