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

Python實現(xiàn)對字典分別按鍵(key)和值(value)進(jìn)行排序的方法分析

 更新時間:2018年12月19日 10:41:56   作者:Asia-Lee  
這篇文章主要介紹了Python實現(xiàn)對字典分別按鍵(key)和值(value)進(jìn)行排序的方法,結(jié)合實例形式分析了Python基于sorted函數(shù)及operator庫進(jìn)行字典排序的相關(guān)操作技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)對字典分別按鍵(key)和值(value)進(jìn)行排序的方法。分享給大家供大家參考,具體如下:

方法一:

#使用sorted函數(shù)進(jìn)行排序
'''
sorted(iterable,key,reverse),sorted一共有iterable,key,reverse這三個參數(shù);
其中iterable表示可以迭代的對象,例如可以是dict.items()、dict.keys()等
key是一個函數(shù),用來選取參與比較的元素,reverse則是用來指定排序是倒序還是順序,reverse=true則是倒序,
reverse=false時則是順序,默認(rèn)時reverse=false。
'''
#初始化字典
dict_data={6:9,10:5,3:11,8:2,7:6}

1、對字典按鍵(key)進(jìn)行排序

#對字典按鍵(key)進(jìn)行排序(默認(rèn)由小到大)
test_data_0=sorted(dict_data.keys())
#輸出結(jié)果
print(test_data_0) #[3, 6, 7, 8, 10]
test_data_1=sorted(dict_data.items(),key=lambda x:x[0])
#輸出結(jié)果
print(test_data_1) #[(3, 11), (6, 9), (7, 6), (8, 2), (10, 5)]

2、對字典按值(value)進(jìn)行排序

#對字典按值(value)進(jìn)行排序(默認(rèn)由小到大)
test_data_2=sorted(dict_data.items(),key=lambda x:x[1])
#輸出結(jié)果
print(test_data_2) #[('8', 2), ('10', 5), ('7', 6), ('6', 9), ('3', 11)]
test_data_3=sorted(dict_data.items(),key=lambda x:x[1],reverse=True)
#輸出結(jié)果
print(test_data_3) #[('3', 11), ('6', 9), ('7', 6), ('10', 5), ('8', 2)]

方法二:

import operator
#初始化字典
dict_data={6:9,10:5,3:11,8:2,7:6}
#按鍵(key)進(jìn)行排序
test_data_4=sorted(dict_data.items(),key=operator.itemgetter(0))
test_data_5=sorted(dict_data.items(),key=operator.itemgetter(0),reverse=True)
print(test_data_4) #[(3, 11), (6, 9), (7, 6), (8, 2), (10, 5)]
print(test_data_5) #[(10, 5), (8, 2), (7, 6), (6, 9), (3, 11)]
#按值(value)進(jìn)行排序
test_data_6=sorted(dict_data.items(),key=operator.itemgetter(1))
test_data_7=sorted(dict_data.items(),key=operator.itemgetter(1),reverse=True)
print(test_data_6) #[(8, 2), (10, 5), (7, 6), (6, 9), (3, 11)]
print(test_data_7) #[(3, 11), (6, 9), (7, 6), (10, 5), (8, 2)]

附:operator庫常用函數(shù)說明

操作 語法 函數(shù)
相加 a + b add(a, b)
字符串拼接 seq1 + seq2 concat(seq1, seq2)
包含測試 obj in seq contains(seq, obj)
普通除法 a / b truediv(a, b)
取整除法 a // b floordiv(a, b)
按位與 a & b and_(a, b)
按位異或 a ^ b xor(a, b)
按位取反 ~ a invert(a)
按位或 a | b or_(a, b)
指數(shù)運算 a ** b pow(a, b)
識別 a is b is_(a, b)
識別 a is not b is_not(a, b)
索引賦值 obj[k] = v setitem(obj, k, v)
索引刪除 del obj[k] delitem(obj, k)
索引 obj[k] getitem(obj, k)
左移 a << b lshift(a, b)
取模 a % b mod(a, b)
乘法 a * b mul(a, b)
負(fù)數(shù) -a neg(a)
非運算 not a not_(a)
正數(shù) + a pos(a)
右移運算 a >> b rshift(a, b)
切片賦值 seq[i:j] = values setitem(seq, slice(i, j), values)
切片刪除 del seq[i:j] delitem(seq, slice(i, j))
切片 seq[i: j] getitem(seq, slice(i, j))
字符串格式化 s % obj mod(s, obj)
減法 a - b sub(a, b)
真值測試 obj truth(obj)
小于 a < b lt(a, b)
小于等于 a <= b le(a, b)
等于 a == b eq(a, b)
不等于 a != b ne(a, b)
大于等于 a >= b ge(a, b)
大于 a > b gt(a, b)

PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:

在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • Python批量修改文件名,文件再多也只要一秒

    Python批量修改文件名,文件再多也只要一秒

    大家好,本篇文章主要講的是Python批量修改文件名,文件再多也只要一秒,感興趣的同學(xué)趕快來看一看,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Pycharm配置Qt Designer及Pyuic的實現(xiàn)方法

    Pycharm配置Qt Designer及Pyuic的實現(xiàn)方法

    本文介紹了如何安裝Qt designer和Pyuic以及他們的基本用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 關(guān)于Python中進(jìn)度條的六個實用技巧分享

    關(guān)于Python中進(jìn)度條的六個實用技巧分享

    在項目開發(fā)過程中加載、啟動、下載項目難免會用到進(jìn)度條,下面這篇文章主要給大家介紹了關(guān)于Python中進(jìn)度條的六個實用技巧,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • Python錯誤處理操作示例

    Python錯誤處理操作示例

    這篇文章主要介紹了Python錯誤處理操作,結(jié)合實例形式分析了Python使用try...except...finaly語句進(jìn)行錯誤處理的相關(guān)操作技巧與注意事項,需要的朋友可以參考下
    2018-07-07
  • python+tifffile之tiff文件讀寫方式

    python+tifffile之tiff文件讀寫方式

    今天小編就為大家分享一篇python+tifffile之tiff文件讀寫方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • python celery分布式任務(wù)隊列的使用詳解

    python celery分布式任務(wù)隊列的使用詳解

    這篇文章主要介紹了python celery分布式任務(wù)隊列的使用詳解,Celery 是一個 基于python開發(fā)的分布式異步消息任務(wù)隊列,通過它可以輕松的實現(xiàn)任務(wù)的異步處理, 如果你的業(yè)務(wù)場景中需要用到異步任務(wù),就可以考慮使用celery,需要的朋友可以參考下
    2019-07-07
  • 詳解Python的數(shù)據(jù)庫操作(pymysql)

    詳解Python的數(shù)據(jù)庫操作(pymysql)

    這篇文章主要介紹了Python的數(shù)據(jù)庫操作(pymysql),非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-04-04
  • Python實現(xiàn)將pdf文檔保存成圖片格式

    Python實現(xiàn)將pdf文檔保存成圖片格式

    有時候我們會碰到只支持圖片上傳的場景,如何編程快速將pdf轉(zhuǎn)成圖片呢?可以使用 Python 的 pdf2image 庫僅10行代碼就能將 PDF 文檔保存為圖片格式,所以本文給大家介紹了如何使用Python實現(xiàn)將pdf文檔保存成圖片格式,需要的朋友可以參考下
    2024-10-10
  • Python+wxPython實現(xiàn)文件名批量處理

    Python+wxPython實現(xiàn)文件名批量處理

    在日常的文件管理中,我們經(jīng)常需要對文件進(jìn)行批量處理以符合特定的命名規(guī)則或需求,本文主要介紹了如何使用wxPython進(jìn)行文件夾中文件名的批量處理,需要的可以參考下
    2024-04-04
  • Python如何實現(xiàn)遠(yuǎn)程方法調(diào)用

    Python如何實現(xiàn)遠(yuǎn)程方法調(diào)用

    這篇文章主要介紹了Python如何實現(xiàn)遠(yuǎn)程方法調(diào)用,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-08-08

最新評論