파이썬 데이터 구조: 리스트(List)
리스트의 기본 사용법부터 다양한 메서드와 활용 사례
리스트(List)는 파이썬에서 가장 많이 사용되는 데이터 구조 중 하나로, 순서가 있는 데이터의 집합을 관리할 수 있습니다. 이번 글에서는 리스트의 기본 사용법부터 다양한 메서드와 활용 사례를 살펴보겠습니다.
1. 리스트란?
- 리스트는 여러 값을 하나의 변수에 저장할 수 있는 데이터 구조입니다.
- 값은 순서대로 저장되며, 중복을 허용합니다.
- 대괄호(
[]
)를 사용하여 생성합니다.
예제
1
2
3
4
5
6
7
8
# 리스트 생성
fruits = ["apple", "banana", "cherry"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "apple", 3.5, True]
print(fruits) # 출력: ['apple', 'banana', 'cherry']
print(numbers) # 출력: [1, 2, 3, 4, 5]
print(mixed) # 출력: [1, 'apple', 3.5, True]
2. 리스트의 주요 기능
1) 인덱싱과 슬라이싱
- 인덱싱: 리스트의 특정 위치에 있는 요소를 참조합니다.
- 슬라이싱: 리스트의 일부분을 잘라서 새로운 리스트를 만듭니다.
1
2
3
4
5
6
7
8
9
10
fruits = ["apple", "banana", "cherry", "date"]
# 인덱싱
print(fruits[0]) # 출력: apple
print(fruits[-1]) # 출력: date
# 슬라이싱
print(fruits[1:3]) # 출력: ['banana', 'cherry']
print(fruits[:2]) # 출력: ['apple', 'banana']
print(fruits[2:]) # 출력: ['cherry', 'date']
2) 리스트 연산
연산 | 설명 | 예제 | 결과 |
---|---|---|---|
+ | 리스트 연결 | [1, 2] + [3, 4] | [1, 2, 3, 4] |
* | 리스트 반복 | [1, 2] * 2 | [1, 2, 1, 2] |
in | 값이 리스트에 포함 여부 확인 | 3 in [1, 2, 3] | True |
예제
1
2
3
4
5
6
7
8
9
10
11
a = [1, 2, 3]
b = [4, 5]
# 리스트 연결
print(a + b) # 출력: [1, 2, 3, 4, 5]
# 리스트 반복
print(a * 2) # 출력: [1, 2, 3, 1, 2, 3]
# 포함 여부 확인
print(2 in a) # 출력: True
3) 리스트 메서드
메서드 | 설명 | 예제 | 결과 |
---|---|---|---|
append() | 리스트 끝에 요소 추가 | a.append(4) | [1, 2, 3, 4] |
extend() | 리스트 끝에 다른 리스트 연결 | a.extend([5, 6]) | [1, 2, 3, 5, 6] |
insert() | 특정 위치에 요소 삽입 | a.insert(1, 10) | [1, 10, 2, 3] |
remove() | 특정 값을 삭제 | a.remove(2) | [1, 3] |
pop() | 특정 위치의 요소 제거(기본: 마지막) | a.pop() | [1, 2] |
index() | 특정 값의 인덱스 반환 | a.index(2) | 1 |
count() | 특정 값의 개수 반환 | a.count(2) | 1 |
reverse() | 리스트 요소 순서 반전 | a.reverse() | [3, 2, 1] |
sort() | 리스트 요소 정렬 | a.sort() | [1, 2, 3] |
clear() | 리스트의 모든 요소 제거 | a.clear() | [] |
예제
1
2
3
4
5
6
7
a = [3, 1, 2]
a.append(4) # [3, 1, 2, 4]
a.sort() # [1, 2, 3, 4]
a.insert(2, 10) # [1, 2, 10, 3, 4]
a.pop() # [1, 2, 10, 3]
print(a)
3. 리스트의 활용
1) 리스트와 반복문
1
2
3
4
5
6
7
8
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
# 출력:
# apple
# banana
# cherry
2) 리스트 컴프리헨션
1
2
3
4
# 1부터 10까지 제곱 값을 저장한 리스트 생성
squares = [x ** 2 for x in range(1, 11)]
print(squares)
# 출력: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3) 중첩 리스트
1
2
3
4
5
6
7
8
9
# 2차원 리스트
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 요소 접근
print(matrix[1][2]) # 출력: 6
정리
- 리스트는 순서가 있는 데이터 구조로, 값 추가, 삭제, 정렬 등 다양한 작업에 적합합니다.
- 메서드와 리스트 컴프리헨션을 활용하면 효율적으로 데이터 처리가 가능합니다.
- 파이썬의 리스트는 초보자부터 고급 개발자까지 폭넓게 사용되는 데이터 구조입니다.
다음 글 예고:
파이썬 데이터 구조 중 또 다른 중요한 개념인 “튜플(Tuple)”의 특성과 활용법을 배워보겠습니다!
This post is licensed under CC BY 4.0 by the author.