Python 리스트(List) 사용법과 주요 메서드 총정리 | 초보자를 위한 완벽 가이드

Python을 배우다 보면 여러 개의 데이터를 한 번에 저장하고 관리해야 하는 경우가 많습니다. 예를 들어 학생들의 이름, 시험 점수, 상품 목록 등을 각각 하나의 변수에 저장하면 코드가 길어지고 관리도 어려워집니다. 이럴 때 사용하는 자료형이 바로 리스트(List)입니다.

리스트는 Python에서 가장 많이 사용하는 자료형 중 하나로, 데이터를 순서대로 저장하고 쉽게 추가, 수정, 삭제할 수 있습니다. 이번 글에서는 Python 리스트(List) 사용법과 주요 메서드를 예제와 함께 자세히 알아보겠습니다.

리스트(List)란?

리스트는 여러 개의 데이터를 하나의 변수에 저장할 수 있는 자료형입니다.

대괄호([])를 사용하여 생성하며, 각 데이터는 쉼표(,)로 구분합니다.

fruits = ["사과", "바나나", "포도"]

리스트를 출력해 보겠습니다.

print(fruits)

실행 결과

['사과', '바나나', '포도']

리스트에는 문자열뿐만 아니라 숫자, 실수, Boolean 등 다양한 자료형을 함께 저장할 수도 있습니다.

data = ["Python", 2026, 3.14, True]

리스트 요소 접근하기

리스트의 각 데이터는 인덱스(Index)를 이용해 접근합니다.

인덱스는 0부터 시작합니다.

languages = ["Python", "C", "C++", "Java"]

print(languages[0])
print(languages[2])

실행 결과

Python
C++

마지막 요소는 음수 인덱스로 접근할 수도 있습니다.

print(languages[-1])

결과

Java

리스트 값 변경하기

리스트는 생성 후에도 값을 자유롭게 변경할 수 있습니다.

languages = ["Python", "C", "C++"]

languages[1] = "Java"

print(languages)

실행 결과

['Python', 'Java', 'C++']

리스트에 데이터 추가하기

새로운 데이터를 추가할 때 가장 많이 사용하는 메서드는 append()입니다.

languages = ["Python", "Java"]

languages.append("C++")

print(languages)

실행 결과

['Python', 'Java', 'C++']

리스트의 마지막에 새로운 요소가 추가됩니다.

원하는 위치에 추가하기

특정 위치에 데이터를 삽입하려면 insert()를 사용합니다.

languages = ["Python", "C++"]

languages.insert(1, "Java")

print(languages)

결과

['Python', 'Java', 'C++']

리스트 데이터 삭제하기

마지막 요소를 삭제하려면 pop()을 사용합니다.

numbers = [10, 20, 30]

numbers.pop()

print(numbers)

결과

[10, 20]

특정 값을 삭제하려면 remove()를 사용합니다.

numbers = [10, 20, 30]

numbers.remove(20)

print(numbers)

결과

[10, 30]

리스트 길이 구하기

리스트에 저장된 데이터 개수는 len() 함수로 확인할 수 있습니다.

fruits = ["사과", "바나나", "포도"]

print(len(fruits))

결과

3

리스트 정렬하기

숫자나 문자열은 sort() 메서드로 오름차순 정렬할 수 있습니다.

numbers = [5, 2, 8, 1]

numbers.sort()

print(numbers)

결과

[1, 2, 5, 8]

내림차순으로 정렬하려면 reverse=True 옵션을 사용합니다.

numbers.sort(reverse=True)

print(numbers)

결과

[8, 5, 2, 1]

리스트 반복하기

리스트는 for 반복문과 함께 자주 사용됩니다.

languages = ["Python", "Java", "C++"]

for language in languages:
    print(language)

실행 결과

Python
Java
C++

데이터를 하나씩 처리할 때 가장 많이 사용하는 방법입니다.

리스트 슬라이싱

슬라이싱(Slicing)을 사용하면 원하는 구간의 데이터를 가져올 수 있습니다.

numbers = [10, 20, 30, 40, 50]

print(numbers[1:4])

결과

[20, 30, 40]

시작 인덱스는 포함되고 종료 인덱스는 포함되지 않습니다.

자주 사용하는 리스트 메서드

메서드설명
append()마지막에 요소 추가
insert()원하는 위치에 요소 삽입
remove()특정 값 삭제
pop()마지막 요소 삭제 및 반환
sort()오름차순 정렬
reverse()순서 뒤집기
clear()모든 요소 삭제
count()특정 값 개수 확인
index()요소의 위치 반환

이 메서드들은 실무에서도 자주 사용되므로 익혀두면 도움이 됩니다.

초보자가 자주 하는 실수

1. 존재하지 않는 인덱스 접근

numbers = [10, 20, 30]

print(numbers[5])

위 코드는 IndexError가 발생합니다.

리스트 길이를 확인한 후 접근하는 습관을 들이는 것이 좋습니다.

2. remove()와 pop()의 차이

numbers.remove(20)

값을 삭제

numbers.pop()

마지막 위치의 요소를 삭제

두 메서드의 차이를 기억해 두면 실수를 줄일 수 있습니다.

실무 예제

사용자가 입력한 과일을 리스트에 추가하는 프로그램입니다.

fruits = []

fruit = input("과일 이름을 입력하세요: ")

fruits.append(fruit)

print("현재 목록:", fruits)

이처럼 리스트는 사용자 입력을 저장하거나 데이터를 관리하는 프로그램에서 매우 자주 활용됩니다.

마무리

이번 글에서는 Python 리스트(List) 사용법과 주요 메서드를 살펴보았습니다.

리스트는 여러 개의 데이터를 효율적으로 저장하고 관리할 수 있는 Python의 핵심 자료형입니다. append(), insert(), remove(), pop(), sort() 등 주요 메서드를 익혀두면 데이터 처리 능력이 크게 향상됩니다.

리스트는 이후 배우게 될 반복문, 함수, 파일 처리, 웹 크롤링, 데이터 분석에서도 매우 자주 사용됩니다. 충분히 연습해 두면 Python 실력을 한 단계 높이는 데 큰 도움이 될 것입니다.

다음 글에서는 Python 튜플(Tuple)과 리스트(List)의 차이점을 다양한 예제와 함께 자세히 알아보겠습니다.

댓글 남기기