LLM FullStacker/Python
[Python] 튜플, 리스트, 딕셔너리 자료구조 이해
Peter Note
2024. 7. 22. 22:16
튜플 (Tuple)
튜플(tuple)은 파이썬의 내장 데이터 타입 중 하나로, 여러 값을 하나의 순서 있는 집합으로 저장할 수 있는 자료형입니다. 리스트(list)와 유사하지만, 몇 가지 중요한 차이점이 있습니다.
주요 특징
- 변경 불가능(Immutable): 한 번 생성된 튜플의 원소는 변경할 수 없습니다. 따라서 튜플의 내용을 수정, 추가, 삭제하는 작업은 불가능합니다.
- 순서가 있음(Ordered): 튜플은 순서가 있는 데이터 타입으로, 각 원소는 인덱스를 통해 접근할 수 있습니다.
- 중복 허용: 튜플 내에 동일한 값을 여러 번 포함할 수 있습니다.
생성 방법
튜플은 소괄호 ()
를 사용하여 생성하며, 각 요소는 쉼표(,)로 구분합니다.
# 튜플 생성 예시
empty_tuple = ()
single_element_tuple = (42,) # 하나의 요소를 가진 튜플 생성 시 쉼표 필요
multiple_elements_tuple = (1, 2, 3)
튜플은 괄호 없이도 생성할 수 있습니다. 예를 들어:
another_tuple = 1, 2, 3
접근 방법
튜플의 각 요소에 접근하려면 리스트와 마찬가지로 인덱스를 사용합니다.
example_tuple = (10, 20, 30)
print(example_tuple[0]) # 출력: 10
print(example_tuple[1]) # 출력: 20
print(example_tuple[-1]) # 출력: 30 (마지막 요소)
활용 예
튜플은 주로 다음과 같은 상황에서 사용됩니다:
- 변경 불가능한 데이터 구조가 필요할 때
- 여러 값을 하나로 묶어 함수의 인수나 반환값으로 사용하고자 할 때
- 딕셔너리의 키로 사용하고자 할 때 (리스트는 키로 사용할 수 없음)
기타 메서드
튜플은 몇 가지 유용한 메서드를 제공합니다:
example_tuple = (1, 2, 3, 2, 1)
# 특정 값의 개수 세기
print(example_tuple.count(2)) # 출력: 2
# 특정 값의 인덱스 찾기
print(example_tuple.index(3)) # 출력: 2
이와 같이, 튜플은 파이썬에서 매우 유용한 데이터 타입으로, 특정 상황에서 매우 효율적으로 사용될 수 있습니다.
리스트 (List)
리스트는 순서가 있는 변경 가능한(mutable) 데이터 타입으로, 다양한 유형의 값을 포함할 수 있습니다. 리스트는 대괄호 []
를 사용하여 생성하며, 각 요소는 쉼표로 구분합니다.
주요 특징
- 변경 가능(Mutable): 리스트의 요소를 추가, 수정, 삭제할 수 있습니다.
- 순서가 있음(Ordered): 리스트는 순서를 유지하며, 인덱스를 통해 각 요소에 접근할 수 있습니다.
- 중복 허용: 리스트는 동일한 값을 여러 번 포함할 수 있습니다.
생성 방법 및 사용 예
# 리스트 생성
empty_list = []
numbers = [1, 2, 3, 4, 5]
mixed_list = [1, "hello", 3.14, True]
# 리스트 요소 접근
print(numbers[0]) # 출력: 1
print(numbers[-1]) # 출력: 5
# 리스트 수정
numbers[0] = 10
print(numbers) # 출력: [10, 2, 3, 4, 5]
# 리스트 요소 추가
numbers.append(6)
print(numbers) # 출력: [10, 2, 3, 4, 5, 6]
# 리스트 요소 삭제
numbers.remove(10)
print(numbers) # 출력: [2, 3, 4, 5, 6]
딕셔너리 (Dictionary)
딕셔너리는 키(key)와 값(value) 쌍을 저장하는 변경 가능한(mutable) 데이터 타입입니다. 딕셔너리는 중괄호 {}
를 사용하여 생성하며, 각 키-값 쌍은 콜론 :
으로 구분합니다.
주요 특징
- 변경 가능(Mutable): 딕셔너리의 키-값 쌍을 추가, 수정, 삭제할 수 있습니다.
- 순서가 없음(Unordered) (파이썬 3.7 이후로는 삽입 순서 유지)
- 고유 키(Unique Key): 딕셔너리의 각 키는 고유해야 하며, 중복된 키를 가질 수 없습니다.
생성 방법 및 사용 예
# 딕셔너리 생성
empty_dict = {}
person = {"name": "Alice", "age": 25, "city": "New York"}
# 딕셔너리 값 접근
print(person["name"]) # 출력: Alice
print(person.get("age")) # 출력: 25
# 딕셔너리 값 수정
person["age"] = 30
print(person) # 출력: {'name': 'Alice', 'age': 30, 'city': 'New York'}
# 딕셔너리 키-값 쌍 추가
person["job"] = "Engineer"
print(person) # 출력: {'name': 'Alice', 'age': 30, 'city': 'New York', 'job': 'Engineer'}
# 딕셔너리 키-값 쌍 삭제
del person["city"]
print(person) # 출력: {'name': 'Alice', 'age': 30, 'job': 'Engineer'}
리스트와 딕셔너리 비교
특징 | 리스트 (List) | 딕셔너리 (Dictionary) |
---|---|---|
변경 가능성 | 변경 가능 | 변경 가능 |
순서 | 순서가 있음 | 파이썬 3.7 이후로는 삽입 순서 유지, 그 전에는 순서가 없음 |
중복 | 요소 중복 허용 | 키 중복 불가, 값 중복 허용 |
접근 방법 | 인덱스를 통해 요소에 접근 (list[0] ) |
키를 통해 값에 접근 (dict["key"] ) |
리스트와 딕셔너리는 각각의 장점이 있으며, 특정 상황에 맞게 선택하여 사용할 수 있습니다. 데이터를 순차적으로 처리해야 할 때는 리스트를, 키-값 쌍으로 데이터를 관리해야 할 때는 딕셔너리를 사용하면 됩니다.