파이썬(Python)
파이썬에서 리스트와 튜플은 시퀀스 타입의 데이터 구조.
mdesign
2024. 8. 4. 10:28
파이썬에서 리스트와 튜플은 시퀀스 타입의 데이터 구조로, 여러 값을 하나의 변수에 저장할 수 있습니다. 둘 다 순서가 있으며, 인덱스를 사용하여 요소에 접근할 수 있습니다. 그러나 리스트는 가변(mutable)하고 튜플은 불변(immutable)하다는 점에서 차이가 있습니다. 다음은 리스트와 튜플에 대한 자세한 설명입니다.
1. 리스트 (List)
리스트는 가변적인 데이터 구조로, 대괄호([])로 감싸고, 쉼표로 구분된 요소들을 포함합니다.
리스트 생성
fruits = ["apple", "banana", "cherry"] numbers = [1, 2, 3, 4, 5] mixed = [1, "hello", 3.14, True] |
리스트 요소 접근 및 변경
인덱스를 사용하여 리스트 요소에 접근하고 변경할 수 있습니다.
fruits = ["apple", "banana", "cherry"] # 요소 접근 print(fruits[0]) # "apple" print(fruits[-1]) # "cherry" # 요소 변경 fruits[1] = "blueberry" print(fruits) # ["apple", "blueberry", "cherry"] |
< 리스트 메서드 >
리스트는 다양한 내장 메서드를 제공합니다.
요소 추가
fruits = ["apple", "banana"] fruits.append("cherry") # 리스트 끝에 요소 추가 print(fruits) # ["apple", "banana", "cherry"] fruits.insert(1, "blueberry") # 특정 위치에 요소 추가 print(fruits) # ["apple", "blueberry", "banana", "cherry"] |
요소 제거
fruits = ["apple", "banana", "cherry"] fruits.remove("banana") # 특정 요소 제거 print(fruits) # ["apple", "cherry"] fruits.pop() # 마지막 요소 제거 print(fruits) # ["apple"] fruits.pop(0) # 특정 인덱스의 요소 제거 print(fruits) # [] |
리스트 결합 및 확장
fruits = ["apple", "banana"] more_fruits = ["cherry", "date"] fruits.extend(more_fruits) # 리스트 확장 print(fruits) # ["apple", "banana", "cherry", "date"] all_fruits = fruits + more_fruits # 리스트 결합 print(all_fruits) # ["apple", "banana", "cherry", "date", "cherry", "date"] |
정렬 및 뒤집기
numbers = [3, 1, 4, 1, 5, 9] numbers.sort() # 오름차순 정렬 print(numbers) # [1, 1, 3, 4, 5, 9] numbers.reverse() # 리스트 뒤집기 print(numbers) # [9, 5, 4, 3, 1, 1] |
2. 튜플 (Tuple)
튜플은 불변의 데이터 구조로, 소괄호(())로 감싸고, 쉼표로 구분된 요소들을 포함합니다.
튜플 생성
fruit_tuple = ("apple", "banana", "cherry") number_tuple = (1, 2, 3, 4, 5) mixed_tuple = (1, "hello", 3.14, True) |
튜플 요소 접근
인덱스를 사용하여 튜플 요소에 접근할 수 있습니다.
fruit_tuple = ("apple", "banana", "cherry") # 요소 접근 print(fruit_tuple[0]) # "apple" print(fruit_tuple[-1]) # "cherry" |
튜플의 불변성
튜플은 불변이므로, 요소를 변경할 수 없습니다.
fruit_tuple = ("apple", "banana", "cherry") # fruit_tuple[1] = "blueberry" # TypeError: 'tuple' object does not support item assignment |
튜플 메서드
튜플은 리스트에 비해 제공되는 메서드가 적습니다. 주요 메서드는 count()와 index()입니다.
number_tuple = (1, 2, 3, 1, 4, 1) print(number_tuple.count(1)) # 3 (1의 개수) print(number_tuple.index(3)) # 2 (3의 인덱스) |
3. 리스트와 튜플 변환
리스트와 튜플은 서로 변환할 수 있습니다.
# 리스트를 튜플로 변환 fruits = ["apple", "banana", "cherry"] fruit_tuple = tuple(fruits) print(fruit_tuple) # ("apple", "banana", "cherry") # 튜플을 리스트로 변환 numbers = (1, 2, 3, 4, 5) number_list = list(numbers) print(number_list) # [1, 2, 3, 4, 5] |
리스트와 튜플은 각자의 특성과 용도가 있습니다. 가변적인 데이터 구조가 필요하면 리스트를, 불변의 데이터 구조가 필요하면 튜플을 사용하는 것이 좋습니다.