国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-01-04 13:46:23
字體:
供稿:網(wǎng)友

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

方法一:

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

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

#對字典按鍵(key)進行排序(默認由小到大)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)進行排序

#對字典按值(value)進行排序(默認由小到大)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)進行排序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)進行排序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)
負數(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)


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


注:相關(guān)教程知識閱讀請移步到python教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 福泉市| 政和县| 新兴县| 都匀市| 望都县| 普兰县| 博白县| 长兴县| 枞阳县| 南丰县| 白山市| 炉霍县| 新余市| 进贤县| 邵东县| 醴陵市| 米脂县| 项城市| 沅陵县| 廉江市| 连州市| 泰宁县| 巩义市| 杭锦旗| 锦州市| 新泰市| 迁西县| 旌德县| 会东县| 临海市| 洮南市| 武清区| 静安区| 陈巴尔虎旗| 商都县| 合阳县| 弥勒县| 兴国县| 克东县| 丰城市| 长治市|