본문 바로가기
방구석코딩/파이썬 기초문법

[데이터 유형] 파이썬 dict 정렬, 추가, key 확인

by 석세상 2023. 7. 31.
반응형

파이썬 데이터 유형 dict 정렬, 추가, key 확인하는 방법에 대해 알아보도록 하겠습니다.

파이썬 사전(dict) 함수 이해 및 사용법

 

 

파이썬 데이터 유형 : 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() 함수를 사용합니다. 그런 다음 정렬된 키를 반복하고 각 키를 출력합니다.

728x90

다음으로 in 키워드를 사용하여 사전에 특정 키가 있는지 확인하는 방법을 보여줍니다. 'apple' 키가 fruit_prices 사전에 있는지 확인하고 있으면 해당 가격을 출력합니다.

 

이러한 방법을 사용하여 파이썬 사전의 키를 효과적으로 관리할 수 있습니다. 키를 정렬하면 예측 가능한 순서로 사전을 반복할 수 있으며 키의 존재를 확인하면 보다 제어된 방식으로 데이터를 처리할 수 있습니다.

728x90
반응형

댓글