Python 사전은 키-값 형식으로 저장된 데이터 모음입니다. 각 키는 해당 값과 연관되어 있습니다. 본질적으로 변경 가능합니다. 즉, 데이터를 생성한 후 데이터를 변경할 수 있습니다.
이는 순서가 지정되지 않은 데이터 컬렉션이며 중복 값을 저장할 수 있지만 키는 고유해야 합니다.
소누 니감
사전은 중괄호 {}를 사용하여 선언되며 키-값 쌍은 쉼표로 구분됩니다.
dict1 = {'name': 'Devansh', 'age': 22, 'Rollno':90014} print(dict1)
산출:
사전을 정렬해야 하는 이유
- 목록의 검색 시간 복잡도는 O(n)이고 사전의 검색 시간 복잡도는 0(1)이므로 사전이 목록보다 빠릅니다. 필요할 때마다 사전을 목록으로 사용할 수 있습니다.
- 정렬을 사용하면 데이터 구조로 작업할 때 데이터를 효율적으로 분석할 수 있습니다.
- 정렬된 사전은 복잡한 작업을 처리하는 데 더 나은 이해를 제공합니다.
사전을 정렬하는 다양한 방법을 이해해 봅시다.
- 키별로 정렬
- 값을 기준으로 정렬
- 정렬 알고리즘
- 정렬된 순서를 반대로 하기
키와 값을 기준으로 정렬
파이썬 사전을 정렬하는 내장 키 함수인 key() 및 value() 함수를 제공합니다. 모든 반복 가능 항목을 인수로 사용하고 정렬된 키 목록을 반환합니다. 키를 사용하여 사전을 오름차순으로 정렬할 수 있습니다. 다음 예를 이해해 봅시다.
예 -
names = {1:'Alice' ,2:'John' ,4:'Peter' ,3:'Andrew' ,6:'Ruffalo' ,5:'Chris' } #print a sorted list of the keys print(sorted(names.keys())) #print the sorted list with items. print(sorted(names.items()))
산출:
[1, 2, 3, 4, 5, 6] [(1, 'Alice'), (2, 'John'), (3, 'Andrew'), (4, 'Peter'), (5, 'Chris'), (6, 'Ruffalo')]
설명 -
위 코드에서는 사전을 선언했습니다. 이름 . 우리는 내장 함수를 다음과 함께 사용했습니다. 정렬() 정렬된 키 목록을 반환하는 함수입니다. 다음으로 우리는 항목() 정렬된 순서로 사전을 가져오는 함수입니다.
정렬 알고리즘
사전을 정렬하는 다양한 정렬 알고리즘이 있습니다. sorted 메소드에서 다른 인수를 사용할 수 있습니다. 다음 예를 이해해 봅시다.
예 -
daynames = { 'one' : 'Monday' , 'six' : 'Saturday' ,'three' : 'Wednesday' , 'two' : 'Tuesday' , 'five': 'Friday' , 'seven': 'Sunday' } print(daynames) number = { 'one' : 1 , 'two' : 2 , 'three' : 3 , 'four' : 4 , 'five' : 5 , 'six' : 6 , 'seven' : 7} print(sorted(daynames , key=number.__getitem__)) print([daynames[i] for i in sorted(daynames , key=number.__getitem__)])
산출:
{'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'} ['one', 'two', 'three', 'five', 'six', 'seven'] ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday']
정렬된 순서를 반대로 바꿈
사전은 다음을 사용하여 되돌릴 수 있습니다. 뒤집다 논쟁. 다음 예를 이해해 봅시다.
예 -
a = {'a':2 ,'b':1 ,'c':3 ,'d':4 ,'e':5 ,'f':6 } print(sorted(a.values() , reverse= True))
산출:
[6, 5, 4, 3, 2, 1]
이 튜토리얼에서는 Python에서 사전을 정렬하는 방법에 대해 논의했습니다. 정렬된 사전은 많은 양의 데이터를 처리하기 쉽고 빠른 검색 결과를 제공합니다.