欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中給字典排序的四種方法

 更新時間:2023年08月25日 15:10:55   作者:PythonFun  
我們經(jīng)常在計算機等級考試中遇到詞頻排序的問題,我們一般先通過生成字典的方法,統(tǒng)計詞的頻次,然后給字典排序,那么如何快速地給字典按照鍵值進行排序呢,本文主要介紹了Python中給字典排序的四種方法,感興趣的可以了解一下

我們經(jīng)常在計算機等級考試中遇到詞頻排序的問題,我們一般先通過生成字典的方法,統(tǒng)計詞的頻次,然后給字典排序。那么如何快速地給字典按照鍵值進行排序呢?下面介紹三種方法。第一種方法相對比較常見,但是第二種方法你可能第一次見,第三種方法是比較麻煩的一種,你可以參考一下。

例:有下面的列表dic={'a': 4, 'b': 3, 'c': 2, 'd': 1},如何實現(xiàn)字典的升序排列呢?

第一種:利用自定義函數(shù)lambda

>>> dic={'a': 4, 'b': 3, 'c': 2, 'd': 1}
>>> sorted(dic.items(), key=lambda x: x[1])
[('d', 1), ('c', 2), ('b', 3), ('a', 4)]

這里,通過dic.items()獲取由字典鍵名和鍵值組成的元組列表,然后通過自定義函數(shù),獲取元組的第2個元素,作為排序的依據(jù)即key, 默認是按照升序排列,如果是降序排列可以把reverse設(shè)為True,即:

>>> dic={'a': 4, 'b': 3, 'c': 2, 'd': 1}
>>> sorted(dic.items(), key=lambda x: x[1],reverse=True)
{'a': 4, 'b': 3, 'c': 2, 'd': 1}

第二種:利用operator的方法

>>> import operator
>>> sorted(xs.items(), key=operator.itemgetter(1))
[('d', 1), ('c', 2), ('b', 3), ('a', 4)]

operator. itemgetter(item)
operator. itemgetter(*items)

功能是返回一個可調(diào)用對象,該對象可以使用操作__getitem__()方法從自身的操作中捕獲item。如果制定了多個items,返回一個由查詢值組成的元組。例如:運行f =itemgetter(2),然后調(diào)用f(r),返回r[2]。這里通過operator獲得了dic.items()中的鍵值。注意operator是內(nèi)置的包,無需安裝。

第三種方法:列表推導式法

>>>  dic={'a': 4, 'b': 3, 'c': 2, 'd': 1}
>>> tup=[(x[1],x[0]) for x in dic.items()]#元素互換位置
>>> sorted(tup) #排序
[(1, 'd'), (2, 'c'), (3, 'b'), (4, 'a')]
>>> [(x[1],x[0]) for x in dic.items()]
>>> [(x[1],x[0]) for x in tup] #換回原來的位置
>>> [('d', 1), ('c', 2), ('b', 3), ('a', 4)]

用列表推導式,交換元組中元素的位置,排序后再交換回來,這種方法有點兒麻煩,但是邏輯清楚,適合新手。還有哪些好的方法,歡迎大家提出來,一起來交流。

第四種方法:用Counter的方法

from collections import Counter
dic={'a': 4, 'b': 3, 'c': 2, 'd': 1}
count = Counter(dic)
print(list(count.items()))

總結(jié):以上四種方法就是常見的排序方法,供大家參考學習。

到此這篇關(guān)于Python中給字典排序的四種方法的文章就介紹到這了,更多相關(guān)Python 字典排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • win10安裝python3.6的常見問題

    win10安裝python3.6的常見問題

    在本篇文章里小編給大家分享的是關(guān)于win10安裝python3.6的具體步驟,有興趣的朋友們可以參考學習下。
    2020-07-07
  • 詳解如何使用Python提取視頻文件中的音頻

    詳解如何使用Python提取視頻文件中的音頻

    在多媒體處理中,有時我們需要從視頻文件中提取音頻,本文為大家整理了幾種使用Python編程語言提取視頻文件中的音頻的方法,大家可以根據(jù)需要進行選擇
    2025-03-03
  • 如何利用Python寫猜數(shù)字和字母的游戲

    如何利用Python寫猜數(shù)字和字母的游戲

    這篇文章主要介紹了如何利用Python寫猜數(shù)字和字母的游戲,文章基于Python實現(xiàn)游戲小項目,感興趣的朋友可以參考一下
    2022-07-07
  • python 實時遍歷日志文件

    python 實時遍歷日志文件

    這篇文章主要介紹了python 實時遍歷日志文件 的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • Python實現(xiàn)無痛修改第三方庫源碼的方法詳解

    Python實現(xiàn)無痛修改第三方庫源碼的方法詳解

    很多時候,我們下載的 第三方庫 是不會有需求不滿足的情況,但也有極少的情況,第三方庫 沒有兼顧到需求,本文將介紹幾個修改源碼的操作,大家可以根據(jù)需求進行選擇
    2025-03-03
  • pyqt5 使用label控件實時顯示時間的實例

    pyqt5 使用label控件實時顯示時間的實例

    今天小編就為大家分享一篇pyqt5 使用label控件實時顯示時間的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 分享Python字符串關(guān)鍵點

    分享Python字符串關(guān)鍵點

    字符串是 Python 中最常用的數(shù)據(jù)類型。我們可以使用引號來創(chuàng)建字符串,通過本篇文章給大家分享python字符串關(guān)鍵點相關(guān)資料,感興趣的朋友一起學習吧
    2015-12-12
  • 用Python爬蟲破解滑動驗證碼的案例解析

    用Python爬蟲破解滑動驗證碼的案例解析

    今天分享個如何簡單處理滑動圖片的驗證碼的案例,主要是使用Python爬蟲破解滑動驗證碼的相關(guān)實現(xiàn)代碼,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • TensorFlow 2.0之后動態(tài)分配顯存方式

    TensorFlow 2.0之后動態(tài)分配顯存方式

    這篇文章主要介紹了TensorFlow 2.0之后動態(tài)分配顯存方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 詳解Ubuntu16.04安裝Python3.7及其pip3并切換為默認版本

    詳解Ubuntu16.04安裝Python3.7及其pip3并切換為默認版本

    這篇文章主要介紹了詳解Ubuntu16.04安裝Python3.7及其pip3并切換為默認版本,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02

最新評論