파이썬/자료형

파이썬 자료형 - 딕셔너리

kimble2 2024. 7. 30. 21:27
반응형

 

안녕하세요

 

이번에는 딕셔너리에 대해 알아보도록 하겠습니다

 

파이썬에서 **딕셔너리(dictionary)**는 **키-값 쌍(key-value pair)**을 저장하는 데이터 구조입니다. 각 키는 고유하며, 이 키를 사용하여 값을 저장하고 검색할 수 있습니다. 딕셔너리는 중괄호 {}로 묶여 있으며, 키와 값은 콜론 :으로 구분하고, 각 키-값 쌍은 쉼표 ,로 구분합니다.

 

딕셔너리 생성

딕셔너리는 다양한 방법으로 생성할 수 있습니다.

# 빈 딕셔너리
empty_dict = {}

# 초기화된 딕셔너리
person = {
    'name': 'Alice',
    'age': 25,
    'city': 'New York'
}

# dict() 함수 사용
another_dict = dict(name='Bob', age=30, city='Los Angeles')

# 키-값 쌍의 리스트를 딕셔너리로 변환
pairs = [('name', 'Charlie'), ('age', 35), ('city', 'Chicago')]
yet_another_dict = dict(pairs)
 

 

딕셔너리 접근 및 수정

딕셔너리는 키를 사용하여 값을 접근하고 수정할 수 있습니다.

 

person = {'name': 'Alice', 'age': 25, 'city': 'New York'}

# 값 접근
print(person['name'])  # 출력: Alice
print(person['age'])   # 출력: 25

# 값 수정
person['age'] = 26
print(person)  # 출력: {'name': 'Alice', 'age': 26, 'city': 'New York'}

# 새로운 키-값 쌍 추가
person['email'] = 'alice@example.com'
print(person)  # 출력: {'name': 'Alice', 'age': 26, 'city': 'New York', 'email': 'alice@example.com'}
 

딕셔너리 메서드

딕셔너리는 데이터를 조작하기 위한 다양한 메서드를 제공합니다.

키-값 쌍 가져오기

 

person = {'name': 'Alice', 'age': 25, 'city': 'New York'}

# 키 리스트
print(person.keys())  # 출력: dict_keys(['name', 'age', 'city'])

# 값 리스트
print(person.values())  # 출력: dict_values(['Alice', 25, 'New York'])

# 키-값 쌍 리스트
print(person.items())  # 출력: dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
 

 

요소 삭제

person = {'name': 'Alice', 'age': 25, 'city': 'New York'}

# 특정 키-값 쌍 삭제
del person['city']
print(person)  # 출력: {'name': 'Alice', 'age': 25}

# pop() 메서드 사용하여 키-값 쌍 삭제 및 값 반환
age = person.pop('age')
print(age)     # 출력: 25
print(person)  # 출력: {'name': 'Alice'}

# 모든 키-값 쌍 삭제
person.clear()
print(person)  # 출력: {}
 

요소 검색 및 기본값 설정

person = {'name': 'Alice', 'age': 25}

# 키가 존재할 때 값 반환, 존재하지 않을 때 기본값 반환
city = person.get('city', 'Unknown')
print(city)  # 출력: Unknown

# 키가 존재하지 않을 때 기본값으로 추가
person.setdefault('email', 'alice@example.com')
print(person)  # 출력: {'name': 'Alice', 'age': 25, 'email': 'alice@example.com'}
 

딕셔너리 업데이트

person = {'name': 'Alice', 'age': 25}

# 다른 딕셔너리로 업데이트
new_info = {'age': 26, 'city': 'New York'}
person.update(new_info)
print(person)  # 출력: {'name': 'Alice', 'age': 26, 'city': 'New York'}
 

딕셔너리의 사용 사례

  1. 데이터 매핑: 사용자 정보, 설정 등 키-값 쌍으로 표현할 수 있는 데이터를 저장하는 데 사용됩니다.
  2. 카운팅: 문자열이나 리스트 등에서 요소의 빈도를 계산할 때 사용됩니다.

 

from collections import Counter

text = "hello world"
counter = Counter(text)
print(counter)  # 출력: Counter({'l': 3, 'o': 2, 'h': 1, 'e': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1})
 

3.데이터 그룹핑: 특정 키를 기준으로 데이터를 그룹핑할 때 사용됩니다.

students = [
    {'name': 'Alice', 'grade': 'A'},
    {'name': 'Bob', 'grade': 'B'},
    {'name': 'Charlie', 'grade': 'A'},
    {'name': 'David', 'grade': 'B'},
]

from collections import defaultdict

grade_groups = defaultdict(list)
for student in students:
    grade_groups[student['grade']].append(student['name'])

print(dict(grade_groups))
# 출력: {'A': ['Alice', 'Charlie'], 'B': ['Bob', 'David']}
 
 

4.연관 배열: 키를 사용하여 값을 빠르게 검색해야 할 때 딕셔너리를 사용합니다.

딕셔너리는 그 유연성과 성능 덕분에 다양한 응용 프로그램에서 중요한 자료형으로 사용됩니다.

 

 

#파이썬 #자료형 #딕셔너리 #python

 

반응형

'파이썬 > 자료형' 카테고리의 다른 글

파이썬 자료형 - 집합(set)  (0) 2024.07.30
파이썬 자료형 - 튜플  (0) 2024.07.30
파이썬 자료형 - 리스트  (0) 2024.07.30
파이썬 자료형 - 문자형  (0) 2024.07.27
파이썬 자료형 - 숫자형  (0) 2024.07.27