python如何給字典排序

2021-10-17 03:51:30 字數 1350 閱讀 4334

在python裡,字典dictionary是內建的資料型別,是個無序的儲存結構,每一元素是key-value對:

如:dict = ,其中『username』和『password』是key,而『xiaoming』和『123456』是value,可以通過d[key]獲得對應值value的引用,但是不能通過value得到key。

對於dictionnary,需知道以下幾點注意事項:

a、 dictionary 的 key 是大小寫敏感的;

b、 乙個dictionary中不能有重複的 key;

c、 dictionary是無序的,沒有元素順序的概念,它們只是序偶的簡單排列。

sorted函式按key值對字典排序

先來基本介紹一下sorted函式,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse這三個引數。

其中iterable表示可以迭代的物件,例如可以是dict.items()、dict.keys()等,key是乙個函式,用來選取參與比較的元素,reverse則是用來指定排序是倒序還是順序,reverse=true則是倒序,reverse=false時則是順序,預設時reverse=false。

要按key值對字典排序,則可以使用如下語句:

直接使用sorted(d.keys())就能按key值對字典排序,這裡是按照順序對key值排序的,如果想按照倒序排序的話,則只要將reverse置為true即可。

sorted函式按value值對字典排序

要對字典的value排序則需要用到key引數,在這裡主要提供一種使用lambda表示式的方法,如下:

這裡的d.items()實際上是將d轉換為可迭代物件,迭代物件的元素為(『lilee』,25)、(『wangyan』,21)、(『liqun』,32)、(『lidaming』,19),items()方法將字典的元素轉化為了元組,而這裡key引數對應的lambda表示式的意思則是選取元組中的第二個元素作為比較引數(如果寫作key=lambda item:item[0]的話則是選取第乙個元素作為比較物件,也就是key值作為比較物件。

lambda x:y中x表示輸出引數,y表示lambda函式的返回值),所以採用這種方法可以對字典的value進行排序。注意排序後的返回值是乙個list,而原字典中的名值對被轉換為了list中的元組。

python 給字典排序

下面的是按照key的值從大到小的順序來排序 a sorted a.items key lambda a a 0 a 6 c 3 d 10 k 32 下面的是按照key的值從大到小的順序來排序。sorted a.items key lambda a a 1 c 3 a 6 d 10 k 32 其他方法...

python字典如何排序?

字典中的元素是沒有順序的,所以不可以用dic 0 來訪問,會報錯。因為字典中的鍵是唯一的所以可以用dic key 來訪問。那麼如何根據字典的 鍵 和 值 來進行排序?可以用sorted dic,value,reverse 函式,引數dic為需要比較的引數,value為排序物件 可選擇按鍵或值排序 r...

給自字典排序

python字典是無序的型別,有時候有需要對字典按照鍵或者按照值進行排序。為了完成排序。將字典值取出來寫到列表中再排序的方法是很愚蠢的。可以使用sorted函式來實現這個功能即sorted dict,value,reverse 需要匯入operator庫 如下 import operator dic...