python字典keys排序 PYTHON字典排序

2021-10-11 22:13:41 字數 971 閱讀 7534

新學習了一些關於字典的操作:

keylst = list(mydict.keys()) #在list中列出所有的keys

vallst = list(mydict.values()) #在list中列出所有的vals

itelst = list(mydict.items()) #在list中列出所有的key與val,以tuple形式

利用items與zip對字典進行排序

items能把字典key與val拆成一對tuple(只限1個val的key)

zip函式接受任意多個序列作為引數,返回乙個tuple列表 (引用自:對zip的用法寫的很詳細

dictsortbykey = dict(sorted(mydict.items())) #以key進行排序,生成新的字典。因為items()拆出元素的順序是預設以key為先

dictsortbykey2 = dict(sorted(zip(mydict.keys(), mydict.values()))) #同上

dictsortbyval = dict(sorted(zip(mydict.values(), mydict.keys()))) #以val進行排序,生成新的字典,但是val與key互換位置

#慎用,因為當val有重複值時會導致部分key被吞掉

dictsortbyval2 = dict(zip(dictsortbyval.values(), dictsortbyval.keys())) #將上面的字典翻轉,生成原字典以val進行排序的新字典

利用sorted(iterable, key)來進行排序,一步到位

#推薦使用,單純排序。

onestepkey = dict(sorted(mydict.items(), key=lambda x:x[0])) #以key進行排序,生成新的字典

onestepval = dict(sorted(mydict.items(), key=lambda x:x[1])) #以val進行排序,生成新的字典

Python 對dict 的 keys 排序

dict的key值存放特性是散序的,即它的實際順序並不是並不是定義時你寫的那樣。可以通過sorted進行簡單的排序。例子如下 card combo map if name main print card combo map m sorted card combo map.keys for k in ...

keys可重複的字典

眾所周知,c dictionary中的keys 是不允許重複的。以前在程式中使用了dictionary,結果今天客戶要求keys 可以重複。所以為了簡單只好找個可重複的dictionary sortedlist sortedlist 物件包含用鍵 值對表示的專案。sortedlist 物件可按照字元...

在Python中用keys 方法返回字典鍵的教程

keys 方法返回在字典中的所有可用的鍵的列表。語法以下是keys 方法的語法 dict.keys 引數返回值 此方法返回在字典中的所有可用的鍵的列表。例子下面的例子顯示keys 方法的用法。usr bin python wuoerx dict print value s dictwww.cppcn...