파이썬 기본 자료형 : 리스트

파이썬 리스트 자료형

파이썬에서 리스트(List)는 여러 값을 하나의 변수에 저장할 수 있는 가변적인 시퀀스 자료형입니다. 리스트는 대괄호 [] 안에 값을 쉼표로 구분하여 저장하며, 다양한 자료형의 값들을 섞어서 저장할 수도 있습니다. 예를 들면:

my_list = [1, 2, 3, "hello", True, 3.14]

리스트의 특징

1. 인덱싱과 슬라이싱

리스트의 각 요소는 인덱스를 통해 접근할 수 있습니다. 파이썬의 인덱스는 0부터 시작하며, 음수 인덱스를 사용하면 뒤에서부터 접근할 수 있습니다.

numbers = [10, 20, 30, 40, 50]
print(numbers[0])   # 10
print(numbers[-1])  # 50 (마지막 요소)

리스트의 일부분을 가져오는 슬라이싱도 가능합니다.

print(numbers[1:4])  # [20, 30, 40]
print(numbers[:3])   # [10, 20, 30]
print(numbers[2:])   # [30, 40, 50]

2. 리스트 연산

리스트는 + 연산자를 사용해 다른 리스트와 결합할 수 있으며, * 연산자를 사용해 반복할 수 있습니다.

list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list1 + list2  # [1, 2, 3, 4, 5, 6]
repeated = list1 * 2      # [1, 2, 3, 1, 2, 3]

3. 리스트의 가변성

리스트는 가변(mutable) 자료형이므로, 요소를 추가, 수정, 삭제할 수 있습니다. 이러한 가변성 덕분에 리스트는 데이터를 자유롭게 조작하기에 매우 유용합니다.

my_list = [1, 2, 3]
my_list[1] = 20          # [1, 20, 3]
my_list.append(4)        # [1, 20, 3, 4]
my_list.insert(1, 15)    # [1, 15, 20, 3, 4]
my_list.remove(3)        # [1, 15, 20, 4]

4. 리스트 메서드

리스트에는 다양한 내장 메서드들이 있어, 리스트를 조작하는 데 유용합니다. 대표적인 리스트 메서드는 다음과 같습니다:

  • list.append(x): 리스트의 마지막에 요소 추가
  • list.insert(i, x): 특정 위치에 요소 삽입
  • list.remove(x): 리스트에서 첫 번째로 등장하는 특정 요소 제거
  • list.pop(i): 특정 위치의 요소를 제거하고 반환 (i가 없으면 마지막 요소 제거)
  • list.index(x): 특정 요소의 첫 번째 위치 반환
  • list.sort(): 리스트를 오름차순으로 정렬
  • list.reverse(): 리스트의 요소 순서를 반대로 뒤집음
my_list = [3, 1, 4, 1, 5, 9]
my_list.sort()        # [1, 1, 3, 4, 5, 9]
my_list.reverse()     # [9, 5, 4, 3, 1, 1]
my_list.pop()         # 1, 리스트는 [9, 5, 4, 3, 1]

5. 리스트 컴프리헨션

리스트 컴프리헨션(List Comprehension)은 리스트를 간결하게 생성하는 방법으로, 반복문과 조건문을 이용해 새로운 리스트를 만들 수 있습니다.

squares = [x * x for x in range(1, 6)]  # [1, 4, 9, 16, 25]
filtered = [x for x in range(10) if x % 2 == 0]  # [0, 2, 4, 6, 8]

요약

  • 리스트는 여러 값을 하나의 변수에 저장할 수 있는 자료형으로, 가변적인 특징을 가집니다.
  • 인덱싱과 슬라이싱을 통해 리스트의 요소에 접근할 수 있습니다.
  • 리스트는 결합(+) 및 반복(*) 연산이 가능합니다.
  • 리스트의 다양한 메서드를 통해 요소를 추가, 수정, 삭제할 수 있습니다.
  • 리스트 컴프리헨션을 사용하면 간결하게 리스트를 생성할 수 있습니다.

리스트는 파이썬에서 가장 많이 사용되는 자료형 중 하나로, 데이터를 저장하고 조작하는 데 매우 유용합니다. 리스트의 다양한 기능들을 활용하여 더욱 효율적인 코드를 작성해 보세요!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다