본문 바로가기
코딩교육/Python 초등교육에서 전문가까지

2단계 : 5. 리스트와 반복문 (리스트와 관련된 주요 메서드 - append(), remove(), sort() 등)

by 제리토리 2025. 3. 23.
728x90
반응형

 

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): 특정 요소의 첫 번째 인덱스 반환

 

728x90
반응형