파이썬 데이터 유형 dict 정렬, 추가, key 확인하는 방법에 대해 알아보도록 하겠습니다.
파이썬 데이터 유형 : dict 명령 이해
파이썬 데이터 유형 dict란 dictionary를 의미하며, 키(key)-값(value) 쌍을 사용하여 데이터를 저장하고 검색할 수 있는 데이터 구조입니다.
dict() 명령은 내장되어 있는 기본 함수로써 다양한 방법으로 사용할 수 있습니다. dict의 키는 고유하며 연결된 값의 식별자 역할을 합니다. 각 키는 특정 값에 매핑되어 키를 기반으로 데이터를 빠르고 효율적으로 검색할 수 있습니다.
key : dict의 키는 해당 값에 액세스하는 데 사용되는 고유 식별자입니다. 키는 문자열, 숫자 또는 튜플과 같은 변경할 수 없는 데이터 유형이어야 합니다. 키-값 쌍이 dict에 추가되면 키를 변경할 수 없습니다. 기존 키로 새 요소를 추가하려고 하면 해당 키와 연결된 값이 업데이트됩니다.
value: dict의값은 키와 연결된 실제 데이터입니다. 값은 숫자, 문자열, 목록, 기타 사전 또는 사용자 정의 개체를 포함하여 모든 데이터 유형이 될 수 있습니다. 키와 달리 dict의 값은 변경할 수 있으며 추가된 후에 변경되거나 업데이트될 수 있습니다.
고유 키를 사용하면 전체 dict를 반복하지 않고도 해당 값을 빠르게 조회하고 검색할 수 있습니다. 따라서 특정 식별자를 기반으로 빠른 액세스가 필요할 때 데이터를 저장하고 구성하는 데 dict 데이터 유형이 이상적입니다.
리터럴 구문으로 사전 만들기
dict() 명령을 사용하여 사전을 만드는 한 가지 방법은 중괄호 {} 안에 키-값 쌍을 제공하는 것입니다. 각 키-값 쌍은 콜론 :으로 구분됩니다. 예를 들면 다음과 같습니다.
person = dict(name='John', age=25, city='New York')
print(person) # Output: {'name': 'John', 'age': 25, 'city': 'New York'}
이 예에서는 dict() 명령을 사용하여 person이라는 사전을 만듭니다. 키는 name, age 및 city이고 해당 값은 'John', 25 및 'New York'입니다. 사람 사전을 인쇄하면 내용이 표시됩니다.
두 목록에서 사전 생성
dict() 명령을 사용하여 사전을 만드는 또 다른 방법은 두 개의 목록을 전달하는 것입니다. 하나는 키를 포함하고 다른 하나는 값을 포함합니다. dict() 명령은 각 키를 해당 값과 매핑합니다.
keys = ['name', 'age', 'city']
values = ['John', 25, 'New York']
person = dict(zip(keys, values))
print(person) # Output: {'name': 'John', 'age': 25, 'city': 'New York'}
이 예에는 keys와 values라는 두 개의 목록이 있습니다. zip() 함수는 두 목록의 요소를 결합하고 dict() 명령은 각 키를 해당 값과 매핑하여 사전을 만듭니다.
빈 사전 만들기
dict() 명령을 사용하여 빈 사전을 만들 수도 있습니다. 빈 사전에는 키-값 쌍이 포함되어 있지 않습니다.
empty_dict = dict()
print(empty_dict) # Output: {}
이 예에서는 dict() 명령을 사용하여 empty_dict라는 빈 사전을 만듭니다. empty_dict를 인쇄하면 빈 사전임을 나타내는 빈 중괄호 세트가 표시됩니다.
dict 값에 액세스
dict를 생성하면 해당 키를 사용하여 해당 값에 액세스할 수 있습니다. 예를 살펴보겠습니다.
person = {'name': 'John', 'age': 25, 'city': 'New York'}
print(person['name']) # Output: 'John'
print(person['age']) # Output: 25
print(person['city']) # Output: 'New York'
이 예에는 세 개의 키-값 쌍이 있는 person이라는 사전이 있습니다. 대괄호 안에 해당 키를 제공하여 값에 액세스합니다. 그렇게 함으로써 사전에서 'John', 25 및 'New York' 값을 검색합니다.
대괄호 안의 키
키-값 쌍 수정 및 추가
Python의 사전은 변경 가능하므로 사전이 생성된 후에도 키-값 쌍을 수정하거나 추가할 수 있습니다.
person = {'name': 'John', 'age': 25, 'city': 'New York'}
person['age'] = 26 # Modifying the value of the 'age' key
person['occupation'] = 'Engineer' # Adding a new key-value pair
print(person) # Output: {'name': 'John', 'age': 26, 'city': 'New York', 'occupation': 'Engineer'}
이 예에서는 키에 새 값(26)을 할당하여 'age' 키 값을 수정합니다. 또한 동일한 대괄호 표기법을 사용하여 새로운 키-값 쌍 'occupation': 'Engineer'를 person 사전에 추가합니다.
키-값 쌍 제거
del 문을 사용하여 사전에서 키-값 쌍을 제거할 수 있습니다.
person = {'name': 'John', 'age': 25, 'city': 'New York'}
del person['age'] # Removing the 'age' key-value pair
print(person) # Output: {'name': 'John', 'city': 'New York'}
이 예에서는 del 문을 사용하여 person 사전에서 'age' 키-값 쌍을 제거합니다. 제거 후 사전에는 더 이상 'age' 키가 포함되지 않습니다.
dict 정렬 및 key 확인
다양한 과일의 가격을 저장하는 'fruit_prices'라는 사전을 만들어 정렬 및 key 확인 방법에 대해 알아보겠습니다. if문 등을 사용했지만 해당 내용은 이런게 있다 정도만 알아두고 여기서는 dict에 관련된 내용만 다루도록 하겠습니다.
fruit_prices = {
'apple': 1.50,
'banana': 0.75,
'orange': 1.25,
'grape': 2.00,
'kiwi': 0.95
}
# Sorting keys in ascending order
sorted_keys = sorted(fruit_prices.keys())
print("Sorted keys in ascending order:")
for key in sorted_keys:
print(key)
# Output:
# Sorted keys in ascending order:
# apple
# banana
# grape
# kiwi
# orange
# Checking if a specific key exists in the dictionary
key_to_check = 'apple'
if key_to_check in fruit_prices:
print(f"{key_to_check} is in the dictionary. Price: ${fruit_prices[key_to_check]}")
else:
print(f"{key_to_check} is not in the dictionary.")
# Output:
# apple is in the dictionary. Price: $1.5
키를 오름차순으로 정렬하려면 정렬된 키 목록을 반환하는 fruit_prices.keys()에서 sorted() 함수를 사용합니다. 그런 다음 정렬된 키를 반복하고 각 키를 출력합니다.
다음으로 in 키워드를 사용하여 사전에 특정 키가 있는지 확인하는 방법을 보여줍니다. 'apple' 키가 fruit_prices 사전에 있는지 확인하고 있으면 해당 가격을 출력합니다.
이러한 방법을 사용하여 파이썬 사전의 키를 효과적으로 관리할 수 있습니다. 키를 정렬하면 예측 가능한 순서로 사전을 반복할 수 있으며 키의 존재를 확인하면 보다 제어된 방식으로 데이터를 처리할 수 있습니다.
'방구석코딩 > 파이썬 기초문법' 카테고리의 다른 글
파이썬에서 변수와 연산자란 (0) | 2023.08.14 |
---|---|
[데이터 유형] 파이썬 set 함수 이해, 정렬, 추가, 제거 (0) | 2023.08.07 |
[데이터 유형] 파이썬 튜플(tuple) 함수 이해 (0) | 2023.07.24 |
[데이터 유형] 파이썬 list() 함수 이해, 슬라이싱 (0) | 2023.07.17 |
파이썬 데이터 유형 변환을 위한 bool 함수 이해 (0) | 2023.07.03 |
댓글