2025. 8. 8. 15:52
반응형
파이썬의 리스트(list)는 여러 요소를 순서대로 담을 수 있는 순서가 있는(ordered), 변경 가능한(mutable) 데이터 컬렉션입니다. 튜플과 달리 리스트는 한 번 생성된 후에도 요소를 추가, 삭제, 수정할 수 있다는 점이 가장 큰 특징입니다. 이 때문에 리스트는 동적으로 변하는 데이터를 다룰 때 매우 유용하게 사용됩니다.
리스트 생성하기 ✍️
리스트는 대괄호 []를 사용하여 생성하며, 각 요소는 쉼표로 구분합니다. 리스트에는 숫자, 문자열, 다른 리스트, 튜플, 딕셔너리 등 다양한 데이터형의 요소를 함께 담을 수 있습니다.
예제:
Python
# 여러 데이터형을 담고 있는 리스트
my_list = [10, "hello", 3.14, True]
print(my_list) # 출력: [10, 'hello', 3.14, True]
# 빈 리스트 생성
empty_list = []
print(empty_list) # 출력: []
# 리스트 안에 리스트를 포함할 수도 있습니다.
nested_list = [[1, 2], [3, 4]]
print(nested_list) # 출력: [[1, 2], [3, 4]]
리스트의 주요 특징: 순서와 변경 가능성 🔧
1. 순서가 있음 (Ordered)
리스트의 요소는 0부터 시작하는 인덱스(index)를 가지고 있어, 이 인덱스를 통해 특정 요소에 접근할 수 있습니다.
예제:
Python
fruits = ["apple", "banana", "cherry"]
# 인덱스를 사용하여 요소에 접근
print(fruits[0]) # 첫 번째 요소: apple
print(fruits[2]) # 세 번째 요소: cherry
print(fruits[-1]) # 맨 뒤에서 첫 번째 요소: cherry
# 슬라이싱(Slicing)을 사용하여 리스트의 일부를 가져올 수 있습니다.
print(fruits[1:3]) # 인덱스 1부터 2까지: ['banana', 'cherry']
2. 변경 가능 (Mutable)
리스트는 불변(immutable)인 튜플과 달리 요소를 자유롭게 수정, 추가, 삭제할 수 있습니다.
예제:
Python
fruits = ["apple", "banana", "cherry"]
# 요소 수정
fruits[1] = "orange"
print(fruits) # 출력: ['apple', 'orange', 'cherry']
# 요소 추가 (append, insert)
fruits.append("grape")
print(fruits) # 맨 뒤에 추가: ['apple', 'orange', 'cherry', 'grape']
fruits.insert(1, "mango")
print(fruits) # 인덱스 1에 'mango' 추가: ['apple', 'mango', 'orange', 'cherry', 'grape']
# 요소 삭제 (del, remove, pop)
del fruits[0]
print(fruits) # 인덱스 0의 요소 삭제: ['mango', 'orange', 'cherry', 'grape']
fruits.remove("cherry")
print(fruits) # 값 'cherry'를 찾아서 삭제: ['mango', 'orange', 'grape']
popped_fruit = fruits.pop()
print(popped_fruit) # 맨 뒤 요소를 삭제하고 반환: grape
print(fruits) # 출력: ['mango', 'orange']
리스트 관련 유용한 함수 및 메서드 📚
1. 각 함수별 설명과 예제
1) append()
- 기능: 리스트 끝에 요소를 추가.
fruits = ['apple', 'banana'] fruits.append('orange') print(fruits) # ['apple', 'banana', 'orange']
2) insert()
- 기능: 리스트의 특정 위치(index)에 요소 삽입.
fruits = ['apple', 'banana'] fruits.insert(1, 'orange') # 1번 인덱스에 삽입 print(fruits) # ['apple', 'orange', 'banana']
3) sort()
- 기능: 리스트를 오름차순으로 정렬 (기본).
- 옵션: reverse=True → 내림차순 정렬.
numbers = [3, 1, 4, 2] numbers.sort() print(numbers) # [1, 2, 3, 4] numbers.sort(reverse=True) print(numbers) # [4, 3, 2, 1]
4) reverse()
- 기능: 리스트 순서를 반대로 뒤집음 (정렬 아님).
nums = [1, 2, 3] nums.reverse() print(nums) # [3, 2, 1]
5) pop()
- 기능: 리스트의 마지막 요소를 꺼내고 제거.
- 옵션: pop(index) → 해당 인덱스의 요소 꺼냄.
fruits = ['apple', 'banana', 'orange'] last = fruits.pop() print(last) # 'orange' print(fruits) # ['apple', 'banana']
6) remove()
- 기능: 리스트에서 특정 값(value)을 찾아 제거 (첫 번째만 제거).
fruits = ['apple', 'banana', 'apple'] fruits.remove('apple') print(fruits) # ['banana', 'apple']
7) count()
- 기능: 리스트에서 특정 값의 개수를 반환.
nums = [1, 2, 2, 3, 2] print(nums.count(2)) # 3
8) index()
- 기능: 리스트에서 특정 값의 첫 번째 위치(인덱스) 반환.
nums = [10, 20, 30, 20] print(nums.index(20)) # 1
9) len()
- 기능: 리스트의 전체 요소 개수 반환.
fruits = ['apple', 'banana', 'orange'] print(len(fruits)) # 3
✅ 2. 요약 정리 표
함수명설명예제결과
| append(x) | 리스트 끝에 요소 x 추가 | a=[1,2]; a.append(3) | [1,2,3] |
| insert(i,x) | i번째 위치에 요소 x 삽입 | a=[1,3]; a.insert(1,2) | [1,2,3] |
| sort() | 리스트 정렬(기본: 오름차순) | a=[3,1,2]; a.sort() | [1,2,3] |
| reverse() | 리스트 순서를 거꾸로 | a=[1,2,3]; a.reverse() | [3,2,1] |
| pop() | 마지막 요소 꺼내고 삭제 (옵션: index 지정 가능) | a=['a','b']; a.pop() | 'b', ['a'] |
| remove(x) | 값 x를 찾아 제거 (첫 번째 것만) | a=[1,2,1]; a.remove(1) | [2,1] |
| count(x) | 값 x의 개수 반환 | a=[1,1,2]; a.count(1) | 2 |
| index(x) | 값 x의 첫 번째 인덱스 반환 | a=[10,20,30]; a.index(20) | 1 |
| len() | 리스트의 요소 개수 반환 | len(['a','b']) | 2 |
반응형
'파이썬(Python)' 카테고리의 다른 글
| 파이썬, 문자열의 길이 len(문자열)에 대해 정리 (2) | 2025.08.09 |
|---|---|
| 파이썬 문자열(String), 문자열형 연산 : '+', '*' (1) | 2025.08.09 |
| 파이썬에서 데이터형 : 세트형에 대해 정리 (1) | 2025.08.08 |
| 파이썬에서 데이터형 : 딕셔너리형에 대해 정리 (1) | 2025.08.08 |
| 파이썬에서 데이터형 : TUPLE형에 대해 정리 (0) | 2025.08.08 |
콘텐츠 내 자동삽입광고
