파이썬 리스트 자료형
파이썬에서 리스트(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]
요약
- 리스트는 여러 값을 하나의 변수에 저장할 수 있는 자료형으로, 가변적인 특징을 가집니다.
- 인덱싱과 슬라이싱을 통해 리스트의 요소에 접근할 수 있습니다.
- 리스트는 결합(
+
) 및 반복(*
) 연산이 가능합니다. - 리스트의 다양한 메서드를 통해 요소를 추가, 수정, 삭제할 수 있습니다.
- 리스트 컴프리헨션을 사용하면 간결하게 리스트를 생성할 수 있습니다.
리스트는 파이썬에서 가장 많이 사용되는 자료형 중 하나로, 데이터를 저장하고 조작하는 데 매우 유용합니다. 리스트의 다양한 기능들을 활용하여 더욱 효율적인 코드를 작성해 보세요!