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

首頁 > 編程 > Python > 正文

python字典排序實例詳解

2020-02-23 01:16:23
字體:
來源:轉載
供稿:網友

本文實例分析了python字典排序的方法。分享給大家供大家參考。具體如下:

1、 準備知識:

在python里,字典dictionary是內置的數據類型,是個無序的存儲結構,每一元素是key-value對:
如:dict = {'username':'password','database':'master'},其中'username'和'database'是key,而'password'和'master'是value,可以通過d[key]獲得對應值value的引用,但是不能通過value得到key。

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

a、 dictionary 的 key 是大小寫敏感的;
b、 一個dictionary中不能有重復的 key;
c、 dictionary是無序的,沒有元素順序的概念,它們只是序偶的簡單排列。

2、 字典排序實現(xiàn):

前面已說明dictionary本身沒有順序概念,但是總是在某些時候,但是我們常常需要對字典進行排序,怎么做呢?下面告訴你:

方法1:最簡單的方法,排列元素(key/value對),然后挑出值。字典的items方法,會返回一個元組的列表,其中每個元組都包含一對項目——鍵與對應的值。此時排序可以sort()方法。

def sortedDictValues1(adict):  items = adict.items()  items.sort()  return [value for key, value in items]

方法2:使用排列鍵(key)的方式,挑出值,速度比方法1快。字典對象的keys()方法返回字典中所有鍵值組成的列表,次序是隨機的。需要排序時只要對返回的鍵值列表使用sort()方法。

def sortedDictValues1(adict):  keys = adict.keys()  keys.sort()  return [adict[key] for key in keys]

方法3:通過映射的方法去更有效的執(zhí)行最后一步

def sortedDictValues1(adict):  keys = adict.keys()  keys.sort()  return map(adict.get,keys)

方法4:對字典按鍵排序,用元組列表的形式返回,同時使用lambda函數來進行;
sorted(iterable[, cmp[, key[, reverse]]]
cmp和key一般使用lambda
如:

>>> d={"ok":1,"no":2}#對字典按鍵排序,用元組列表的形式返回>>> sorted(d.items, key=lambda d:d[0])[('no', 2), ('ok', 1)]

對字典按值排序,用元組列表的形式返回

>>> sorted(d.items, key=lambda d:d[1])[('ok', 1), ('no', 2)]

對字典元素的排序雖然有好多種方法,這里也沒有總結全,但如果對程序效率沒有太高要求,選擇喜歡的用就好。

希望本文所述對大家的Python程序設計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 开封市| 双桥区| 沅江市| 巢湖市| 武穴市| 昌黎县| 九江县| 兖州市| 龙江县| 威信县| 万安县| 漳州市| 栾川县| 英吉沙县| 阳高县| 电白县| 兴隆县| 方山县| 密山市| 平南县| 电白县| 嘉兴市| 崇州市| 苍山县| 凤山市| 修武县| 肥乡县| 嘉黎县| 峨眉山市| 德令哈市| 手机| 漠河县| 甘泉县| 镇康县| 边坝县| 南安市| 长海县| 明光市| 卢氏县| 宣武区| 荔浦县|