python 按照字典的值進行排序

2021-08-19 08:07:15 字數 1539 閱讀 9046

import sys

import random

reload(sys)

sys.setdefaultencoding('utf-8')

//這種字典,要對值進行按大小排序

data_str=['xie','zhao','chen']

data_dic=

print data_dic.keys()

//列印字典的所有鍵

print data_dic.values()

//列印字典的所有值

prinr data_dic.items()

//返回列表形式的字典,(就是列表)可以使用列表索引list[1]選擇元素

print data_dic.viewkeys()

//列印字典所有鍵的集合,集合可以用去交集並集去重複

print sorted(zip(data_dic.values(),data_dic.keys()))

//zip()函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。

//結果:[(64, 'xie'), (72, 'chen'), (75, 'zhao')]

print sorted(data_dic.items(),key=lambda x:x[1])

//sorted()中有key,cmp,reverse三種方法。

//結果:[('xie', 64), ('chen', 72), ('zhao', 75)]

//當然還可以轉換成字典的形式

print dict([('xie', 64), ('chen', 72), ('zhao', 75)])

一般來說用的最多的是key,key接受乙個函式。比如key=abs(絕對值),或者先定義乙個函式,然後把這個函式賦給key

cmp指定乙個定製的比較函式,這個函式接收兩個引數(iterable的元素),如果第乙個引數小於第二個引數,返回乙個負數;如果第乙個引數等於第二個引數,返回零;如果第乙個引數大於第二個引數,返回乙個正數。預設值為none。

key指定乙個接收乙個引數的函式,這個函式用於從每個元素中提取乙個用於比較的關鍵字。預設值為none。

reverse是乙個布林值。如果設定為true,列表元素將被倒序排列。

from collections import ordereddict

//ordereddict能夠對字典的值進行排序,只列印鍵,需要注意的是要先把字典賦給ordereddict

data_dic = ordereddict()

data_dic=

for x in data_dic:print x

結果:chen

zhao

xie

ordereddict的方法適用於只看鍵的排序,應用程式一般用作按照值排序好之後,檢視鍵。

python字典按照鍵和值進行排序

排序首先想到python的sorted 和sort sort 與 sorted 區別 1.sort 是應用在 list 上的方法,sorted 可以對所有可迭代的物件進行排序操作。2.list 的 sort 方法返回的是對已經存在的列表進行操作,而內建函式 sorted 方法返回的是乙個新的 lis...

字典按照值或鍵進行排序

sorted iterable,key,reverse sorted一共有iterable,key,reverse這三個引數 引數作用 iterable 可迭代物件 例如 dict.items dict.keys 等 key用來選取參與比較的元素,例如確定是按照字典的鍵比較還是按照值進行比較 rev...

python 對字典按照value進行排序

字典按照value進行排序共有三種方法 d 第一種方法,key使用lambda匿名函式取value進行排序 a sorted d.items key lambda x x 1 a1 sorted d.items key lambda x x 1 reverse true print a print ...