리스트(List)의 개념
리스트는 파이썬에서 가장 자주 사용되는 데이터 구조 중 하나로, 여러 값을 하나의 변수에 저장하는데 사용된다. 리스트는 대괄호 [ ]
로 표현되며, 각 값은 쉼표로 구분된다.
my_list = [1, 2, 3, 'four', 5.0]
리스트의 특징
다양한 데이터 타입 지원: 리스트는 서로 다른 데이터 타입의 요소를 포함할 수 있다. 정수, 실수, 문자열 등을 혼합하여 저장할 수 있다.
인덱스로 접근: 각 요소는 0부터 시작하는 인덱스를 가지며, 이를 사용하여 특정 위치의 값을 읽거나 수정할 수 있다.
가변성: 리스트는 가변적(mutable)이므로 값의 추가, 수정, 삭제가 가능하다. 이는 프로그램 실행 중에 동적으로 데이터를 조작할 수 있는 유연성을 제공한다.
순서 보장: 리스트는 입력된 순서를 유지한다. 즉, 요소가 추가된 순서대로 저장되어 있어 인덱스로 접근할 때 예측 가능하다.
Q: 리스트(list)와 튜플(tuple)의 차이는 무엇인가요?
A: 리스트는 가변(mutable)하고, 튜플은 불변(immutable)하다. 리스트는 값을 추가, 수정, 삭제할 수 있지만, 튜플은 그렇지 않다.
리스트 수정하기
리스트의 특정 위치에 값을 수정하는 방법은 다음과 같다. 인덱스를 활용하여 해당 위치의 값을 새로운 값으로 바꿀 수 있다.
my_list = [1, 2, 3, 'four', 5.0]
my_list[1] = 'two'
# 결과: [1, 'two', 3, 'four', 5.0]
리스트 삭제하기
리스트에서 특정 값을 삭제할 때는 del
키워드를 사용한다. 이때 삭제하려는 요소의 인덱스를 명시해야 한다.
my_list = [1, 'two', 3, 'four', 5.0]
del my_list[2]
# 결과: [1, 'two', 'four', 5.0]
리스트 슬라이싱
리스트를 슬라이싱하여 특정 부분을 추출할 수 있다.
my_list = [1, 'two', 'four', 5.0]
subset = my_list[1:3]
# 결과: ['two', 'four']
주의사항
인덱스 범위 확인: 인덱스를 사용할 때 범위를 주의해야 한다. 존재하지 않는 인덱스에 접근하면
IndexError
가 발생할 수 있다.원본 리스트에 주의: 수정과 삭제는 원본 리스트에 영향을 미치므로 주의가 필요하다.
Q: 리스트의 특정 부분을 복사하려면 어떻게 해야 하나요?
A: copy()
메서드나 슬라이싱을 사용하여 리스트의 일부를 복사할 수 있다. 이를 통해 원본 리스트를 보존하면서 조작할 수 있다.