Python의 리스트(List)는 다양한 메서드(method)를 제공하여 데이터 추가, 삭제, 정렬, 변환 등의 기능을 쉽게 수행할 수 있습니다.
이번 장에서는 리스트의 주요 메서드(append(), remove(), sort(), extend(), pop(), insert() 등)를 심도 있게 다루고, 실전 예제와 함께 설명합니다.
1. 리스트(List) 메서드란 ?
리스트 메서드는 리스트 객체에 내장된 함수로, 리스트를 직접 변경하거나 조작할 수 있는 기능을 제공합니다.
✅ 대표적인 리스트 메서드
메서드 | 기능 |
append(x) | 리스트 끝에 요소 추가 |
extend(iterable) | 여러 개의 요소 추가 |
insert(i, x) | 특정 위치(i)에 요소 추가 |
remove(x) | 특정 요소 삭제 |
pop(i) | 특정 위치(i)의 요소 제거 및 반환 |
sort() | 리스트 정렬(오름차순 / 내림차순) |
reverse() | 리스트 요소의 개수 반환 |
count(x) | 특정 요소의 개수 반환 |
index(x) | 특정 요소의 첫 번째 인덱스 반환 |
copy() | 리스트 복사 |
이제 하나씩 자세히 살펴보겠습니다.
2. 요소 추가 메서드
㉮ append(x) - 리스트 끝에 요소 추가
append() 메서드는 리스트 끝에 새로운 요소를 추가하는 역할을 합니다.
numbers = [1, 2, 3]
numbers.append(4) # 숫자 4 추가
print(numbers) # [1, 2, 3, 4]
✅ 리스트의 길이를 직접 변경하지 않고 동적으로 요소를 추가 가능.
㉯ extend(iterable) - 여러 개의 요소 추가
extend() 메서드는 리스트에 여러 개의 요소를 추가할 때 사용됩니다.
numbers = [1, 2, 3]
numbers.extend([4, 5, 6]) # 여러 개의 요소 추가
print(numbers) # [1, 2, 3, 4, 5, 6]
✅ append()와 차이점
numbers = [1, 2, 3]
numbers.append([4, 5, 6]) # 리스트 자체를 하나의 요소로 추가
print(numbers) # [1, 2, 3, [4, 5, 6]]
• append()는 리스트 전체를 하나의 요소로 추가
• extend()는 각 요소를 개별적으로 추가
㉰ insert(i, x) - 특정 위치에 요소 추가
insert() 메서드는 리스트의 특정 위치(i)에 요소(x)를 삽입합니다.
fruits = ["사과", "바나나", "체리"]
fruits.insert(1, "오렌지") # 인덱스 1 위치에 오렌지 삽입
print(fruits) # ['사과', '오렌지', '바나나', '체리']
✅ 리스트 중간에 요소를 추가할 때 유용함.
3. 요소 삭제 메서드
㉮ remove(x) - 특정 값을 찾아 삭제
remove() 메서드는 리스트에서 첫 번째로 등장하는 특정 값을 삭제합니다.
numbers = [10, 20, 30, 20, 40]
numbers.remove(20) # 첫 번째 20을 삭제
print(numbers) # [10, 30, 20, 40]
✅ 동일한 값이 여러 개 있으면 첫 번째 값만 삭제됨.
㉯ pop(i) - 특정 위치의 요소를 제거하고 반환
pop() 메서드는 특정 인덱스(i)의 요소를 삭제하고, 해당 요소를 반환합니다.
numbers = [10, 20, 30, 40]
deleted_value = numbers.pop(2) # 인덱스 2의 요소 삭제
print(numbers) # [10, 20, 40]
print(deleted_value) # 30
㉰ del - 특정 요소 또는 전체 리스트 삭제
del 키워드를 사용하여 특정 요소를 삭제하거나 리스트 전체를 삭제할 수 있습니다.
numbers = [10, 20, 30, 40]
del numbers[1] # 인덱스 1의 요소 삭제
print(numbers) # [10, 30, 40]
✅ 리스트 전체 삭제
del numbers # 리스트 자체 삭제
# print(numbers) # NameError: 'numbers' is not defined
4. 리스트 정렬 메서드
㉮ sort() - 리스트 정렬
sort() 메서드는 리스트의 요소를 오름차순으로 정렬합니다.
numbers = [5, 2, 9, 1, 7]
numbers.sort() # 오름차순 정렬
print(numbers) # [1, 2, 5, 7, 9]
✅ 내림차순 정렬 (reverse=True 옵션)
numbers.sort(reverse=True) # 내림차순 정렬
print(numbers) # [9, 7, 5, 2, 1]
✅ 문자열 정렬
words = ["banana", "apple", "cherry"]
words.sort()
print(words) # ['apple', 'banana', 'cherry']
㉯ reverse() - 리스트 요소 순서를 뒤집기
reverse() 메서드는 리스트 요소의 순서를 역순으로 변경합니다.
numbers = [1, 2, 3, 4, 5]
numbers.reverse()
print(numbers) # [5, 4, 3, 2, 1]
✅ 단순히 리스트 순서를 반대로 뒤집고 싶을 때 유용.
5. 기타 유용한 리스트 메서드
㉮ count(x) - 특정 요소의 개수 반환
numbers = [10, 20, 30, 20, 40, 20]
print(numbers.count(20)) # 3 (20이 3번 등장)
㉯ index(x) - 특정 요소의 첫 번째 인덱스 반환
fruits = ["사과", "바나나", "체리"]
print(fruits.index("바나나")) # 1
6. 요약
✅ 리스트 요소 추가
• append(x): 리스트 끝에 요소 추가
• extend(iterable): 여러 개의 요소 추가
• insert(i, x): 특정 위치(i)에 요소 추가
✅ 리스트 요소 삭제
• remove(x): 특정 값 삭제 (첫 번째 등장하는 값)
• pop(i): 특정 위치(i)의 요소 삭제 후 반환
• del: 특정 요소 또는 리스트 전체 삭제
✅ 리스트 정렬 및 조작
• sort(): 리스트 오름차순 정렬 (reverse=True 옵션으로 내림차순 가능)
• reverse(): 리스트 요소 순서를 뒤집기
✅ 기타 메서드
• count(x): 특정 요소의 개수 반환
• index(x): 특정 요소의 첫 번째 인덱스 반환
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
2단계 : 5. 리스트와 반복문 (리스트 컴프리헨션의 소개 - 기본 활용법) (0) | 2025.03.25 |
---|---|
2단계 : 5. 리스트와 반복문 (리스트와 반복문 - for 문을 활용한 리스트 순회) (0) | 2025.03.24 |
2단계 : 5. 리스트와 반복문 (리스트의 기본 개념과 생성) (0) | 2025.03.22 |
2단계 : 4. 함수 (실행 시간 측정, 데이터 처리 및 알고리즘 최적화) (0) | 2025.03.21 |
2단계 : 4. 함수 (함수의 가독성과 모듈화 - 왜 함수를 사용하는가 ?) (0) | 2025.03.20 |