파이썬 리스트(List): 기본 개념과 수정, 삭제, 슬라이싱

리스트(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() 메서드나 슬라이싱을 사용하여 리스트의 일부를 복사할 수 있다. 이를 통해 원본 리스트를 보존하면서 조작할 수 있다.