파이썬 리스트 내장 함수 정리, 효율적인 데이터 관리
파이썬은 데이터를 다루는 데 있어 리스트(List)를 매우 자주 활용합니다. 리스트는 단순한 데이터 집합 그 이상으로, 다양한 내장 함수를 통해 동적이고 유연한 처리를 가능하게 해줍니다. 이 글에서는 단순한 나열을 넘어서, 각 리스트 내장 함수의 활용도와 실제 응용 방법까지 짚어보며 실무 중심의 통찰력을 제공합니다.

목차
- append(): 리스트의 끝에 원소 추가하기
- extend(): 리스트 병합의 정석
- insert(): 원하는 위치에 삽입하기
- remove(): 값으로 원소 삭제
- pop(): 원소 꺼내기와 삭제를 동시에
- sort(): 정렬의 유연성
- 리스트 컴프리헨션: 가장 파이썬다운 반복
1. append(): 리스트의 끝에 원소 추가하기
append()는 리스트의 가장 끝에 새로운 요소를 추가하는 함수입니다. 리스트를 큐(Queue)처럼 사용할 때도 자주 활용됩니다.
lst = [1, 2, 3]
lst.append(4)
print(lst) # [1, 2, 3, 4]
- 인자는 오직 하나만 받을 수 있습니다.
- 복잡한 구조도 한 번에 추가됩니다 (ex. 리스트, 튜플 등).
- 기존 리스트를 변경합니다 (원본 수정).
2. extend(): 리스트 병합의 정석
extend()는 다른 리스트(또는 반복 가능한 객체)의 요소를 하나씩 풀어서 현재 리스트에 추가합니다.
a = [1, 2]
b = [3, 4]
a.extend(b)
print(a) # [1, 2, 3, 4]
- 반복 가능한(iterable) 객체라면 모두 확장 가능
- append()와는 달리, 내부 요소가 개별 원소로 확장됨
3. insert(): 원하는 위치에 삽입하기
insert(index, value)는 특정 인덱스에 값을 삽입합니다. 중간에 데이터를 끼워 넣을 때 매우 유용합니다.
| 인자 | 설명 |
|---|---|
| index | 삽입할 위치 |
| value | 삽입할 값 |
lst = ['a', 'b', 'd']
lst.insert(2, 'c')
print(lst) # ['a', 'b', 'c', 'd']
4. remove(): 값으로 원소 삭제
remove()는 리스트에서 특정 값을 찾아 첫 번째 항목을 삭제합니다.
주의: 값이 존재하지 않으면 ValueError 예외가 발생합니다.
lst = [1, 2, 3, 2]
lst.remove(2)
print(lst) # [1, 3, 2]

5. pop(): 원소 꺼내기와 삭제를 동시에
pop([index])는 지정된 위치의 원소를 반환하고 리스트에서 제거합니다. 인덱스를 생략하면 마지막 항목이 제거됩니다.
- 스택(후입선출 구조) 구현 시 자주 활용
- 반환값이 있어 유용함
lst = [10, 20, 30]
value = lst.pop()
print(value) # 30
print(lst) # [10, 20]
6. sort(): 정렬의 유연성
sort()는 리스트를 제자리에서 정렬합니다. 다양한 정렬 옵션을 제공하며, 실제 정렬 기준을 커스터마이징할 수 있습니다.
names = ['Tom', 'jerry', 'Alice']
names.sort(key=str.lower)
print(names) # ['Alice', 'jerry', 'Tom']
key: 정렬 기준 함수reverse=True: 내림차순 정렬
7. 리스트 컴프리헨션: 가장 파이썬다운 반복
내장 함수는 아니지만, 리스트를 다룰 때 가장 자주 쓰이는 문법입니다. 리스트 컴프리헨션은 한 줄로 리스트를 생성하는 방법으로, 가독성과 효율을 모두 잡을 수 있습니다.
squares = [x**2 for x in range(5)]
print(squares) # [0, 1, 4, 9, 16]
- 조건문 포함 가능:
[x for x in lst if x > 0] - 중첩 루프도 표현 가능
'프로그래밍 언어 > 파이썬' 카테고리의 다른 글
| Python Set, 중복 없는 자료 구조의 힘 (0) | 2025.06.21 |
|---|---|
| Python Tuple, 불변 데이터 구조 (0) | 2025.05.20 |
| Python bool, Boolean 연산과 비트 연산의 차이점 (0) | 2025.04.29 |
| 파이썬 복소수 연산, complex를 활용한 수학 계산 (0) | 2025.04.23 |
| Python 문자열 연산(str): 합치기, 나누기, 포매팅 (0) | 2025.04.17 |