728x90
반응형
Python은 데이터를 저장하고 처리하기 위한 다양한 자료구조를 제공합니다.
그중에서 리스트(List), 딕셔너리(Dictionary), 셋(Set)은 가장 많이 사용되는 자료구조입니다.
이 글에서는 이들의 차이점과 활용 방법을 알아보겠습니다.
1. 리스트(List)란 무엇인가요?
리스트는 순서가 있는 데이터를 저장하는 자료구조입니다.
데이터는 인덱스를 통해 접근할 수 있으며, 중복 값을 허용합니다.
리스트의 주요 특징
- 순서 보장: 데이터가 추가된 순서대로 저장됩니다.
- 변경 가능: 리스트의 값을 수정, 추가, 삭제할 수 있습니다.
- 중복 허용: 동일한 값을 여러 번 저장할 수 있습니다.
리스트 활용 예제
# 리스트 생성
fruits = ["apple", "banana", "cherry"]
# 데이터 접근
print(fruits[0]) # 출력: apple
# 데이터 추가
fruits.append("orange")
# 데이터 삭제
fruits.remove("banana")
print(fruits) # 출력: ['apple', 'cherry', 'orange']
리스트는 주로 순차 데이터 처리와 반복 작업에 사용됩니다.
2. 딕셔너리(Dictionary)란 무엇인가요?
딕셔너리는 키(key)와 값(value) 쌍으로 데이터를 저장하는 자료구조입니다.
데이터는 키를 통해 접근하며, 키는 고유해야 합니다.
딕셔너리의 주요 특징
- 키-값 쌍: 데이터를 고유한 키와 함께 저장합니다.
- 순서 보장: Python 3.7 이상에서는 입력 순서가 유지됩니다.
- 변경 가능: 값을 수정, 추가, 삭제할 수 있습니다.
딕셔너리 활용 예제
# 딕셔너리 생성
person = {
"name": "John",
"age": 30,
"city": "New York"
}
# 데이터 접근
print(person["name"]) # 출력: John
# 데이터 추가
person["job"] = "Engineer"
# 데이터 수정
person["age"] = 31
# 데이터 삭제
del person["city"]
print(person) # 출력: {'name': 'John', 'age': 31, 'job': 'Engineer'}
딕셔너리는 데이터베이스처럼 구조화된 데이터를 관리할 때 유용합니다.
3. 셋(Set)이란 무엇인가요?
셋은 순서가 없는 고유한 값들의 집합입니다.
데이터 중복을 허용하지 않으며, 빠른 검색 속도를 제공합니다.
셋의 주요 특징
- 순서 없음: 데이터의 순서를 보장하지 않습니다.
- 중복 불가: 동일한 값을 한 번만 저장합니다.
- 변경 가능: 값을 추가하거나 삭제할 수 있습니다.
셋 활용 예제
# 셋 생성
numbers = {1, 2, 3, 4}
# 데이터 추가
numbers.add(5)
# 데이터 삭제
numbers.remove(3)
# 데이터 중복 제거
unique_numbers = set([1, 1, 2, 2, 3])
print(numbers) # 출력: {1, 2, 4, 5}
print(unique_numbers) # 출력: {1, 2, 3}
셋은 데이터의 중복을 제거하거나 교집합 및 차집합을 구할 때 유용합니다.
4. 리스트, 딕셔너리, 셋의 비교
아래는 세 자료구조의 주요 차이점을 정리한 표입니다.
특징 | 리스트 (List) | 딕셔너리 (Dictionary) | 셋 (Set) |
---|---|---|---|
순서 | 유지 | 유지 (Python 3.7 이상) | 유지되지 않음 |
중복 | 허용 | 키 중복 불가 | 불가 |
데이터 접근 | 인덱스 | 키 | 포함 여부 확인 |
주요 활용 | 순차 데이터 | 구조화된 데이터 | 집합 연산 |
5. 결론
리스트, 딕셔너리, 셋은 각각 고유한 특징과 활용 방법을 가진 자료구조입니다.
상황에 맞는 자료구조를 선택하면 더 효율적인 코드 작성이 가능합니다.
Python을 처음 배우는 분들도 이 자료구조를 잘 이해하고 활용해보세요! 😊
728x90
반응형