728x90
728x90
파이썬 딕셔너리는 사용법만 익히면 굉장히 편리하다.
- 딕셔너리에 key를 추가하고,
- 딕셔너리에 특정 key가 있는지 확인하고,
- 딕셔너리의 key값들만 불러오고,
- 딕셔너리를 value값을 기준으로 정렬하는
방법을 알아보자
1. 딕셔너리에 key추가하는 방법
my_dict = {}
my_dict['apple'] = 3
print(my_dict) # {'apple': 3}
이런식으로 새로운 key값에 대해 값을 지정해주면 딕셔너리에 key:value쌍을 추가할 수 있다.
2. 특정 key가 딕셔너리에 있는지 확인하는 방법
if 'apple' in my_dict:
print('Key exists!')
else:
print('Key does not exist.')
key in dict 과 같이 in을 통해 쉽게 확인가능하다.
3. 딕셔너리의 key값들만 불러오기
keys = my_dict.keys()
print(keys) # dict_keys(['apple', 'banana'])
# 리스트로 변환하고 싶으면
key_list = list(my_dict.keys())
print(key_list) # ['apple', 'banana']
dict.keys() 를 통해 딕셔너리의 key값들만 불러올 수 있다. 하지만 단순히 dict.keys()만 하게 되면 dict_keys타입으로 불러오기 때문에 리스트로 변환해서 사용하는 것이 편하다.
3. Value 값 기준으로 딕셔너리 정렬하기
# 딕셔너리 value 기준 오름차순 정렬
sorted_array = sorted(my_dict.items(), key=lambda item: item[1])
sorted_dict = dict(sorted_array)
print(sorted_array) # [('apple': 3), ('banana':5)]
print(sorted_dict) # {'apple':3, 'banana':5}
# 내림차순 정렬
sorted_array_desc = sorted(my_dict.items(), key=lambda item: item[1], reverse=True)
print(sorted_array) # [('banana':5), ('apple': 3)]
다중 기준으로 정렬하고 싶을 땐,
sort = sorted(my_dict.items(), key = lambda item: (item[1], item[0]))
이런식으로하면 value 값을 기준으로 오름차순 정렬을 하되, value값이 같을 경우 key값이 오름차순이 되도록 정렬한다.
하나는 오름차순, 하나는 내림차순으로 정렬하는 것도 가능하다
item: (item[1], -item[0]) -> 이런식으로 내림차순으로 하고 싶은 값에 -를 붙여서 쓰면된다. 이 경우 value값이 오름차순이 되도록 정렬하되 value 값이 같을 경우 key값이 내림차순이 되도록 정렬한다.
728x90
728x90
'연구 > Python' 카테고리의 다른 글
[Python] 파이썬 리스트 전치 시키기 (0) | 2025.03.16 |
---|---|
[Python] 파이썬 입력받기 (0) | 2025.03.10 |
파이썬에서 객체(+ 여러 객체)를 파일로 저장하고 불러오기 (3) | 2023.04.04 |
파이썬 메모리에서 객체 지우기 (0) | 2023.04.04 |