Post

파이썬 데이터 구조: 리스트(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.