Python 字典是以鍵值形式存儲的數據集合。每個鍵都與其值相關聯。它本質上是可變的,這意味著我們可以在數據創建後對其進行更改。
它是數據的無序集合,允許存儲重複的值,但密鑰必須是唯一的。
字典使用大括弧{}聲明,鍵值對用逗號分隔。
dict1 = {'name': 'Devansh', 'age': 22, 'Rollno':90014}
print(dict1)
輸出:
為什麼需要整理字典
- 列表的搜索時間複雜度為 O(n),字典的搜索時間複雜度為 0(1),這使得字典比列錶快。字典可以在需要的時候代替列表使用。
- 排序允許我們在處理數據結構時有效地分析數據。
- 一個排序的字典提供了一個更好的理解來處理複雜的操作。
讓我們了解一下字典排序的各種方法。
- 按關鍵字排序
- 按值排序
- 分類演算法
- 顛倒排序順序
按鍵和值排序
Python 提供了內置的鍵函數鍵()和值()函數來排序字典。它將任何可迭代列作為參數,並返回排序後的鍵列表。我們可以用關鍵字按升序排列字典。讓我們理解下面的例子。
示例-
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')]
解釋-
在上面的代碼中,我們已經聲明了一個字典名稱。我們使用了內置函數和返回排序鍵列表的排序()函數。接下來,我們使用 items() 函數按照排序順序獲取字典。
分類演算法
有各種排序演算法來排序字典;我們可以在排序方法中使用其他參數。讓我們理解下面的例子。
示例-
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']
顛倒排序順序
可以使用 reverse 參數來反轉字典。讓我們理解下面的例子。
示例-
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 中排序字典。一個排序的字典很容易處理大量的數據,並給我們一個快速的搜索結果。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/229234.html