參考博客鏈接 :https://blog.csdn.net/ustbbsy/article/details/796
字典有兩個參數,key, value,下面所描述,鍵:key,值:value , 鍵值對: items
創建一個字典
dic={'a':26,'g':20,'e':20,'c':24}
1.字典的取值
dic = {'a':26,'g':20,'e':20,'c':24} print(dic.keys()) print(dic.values()) print(dic.items()) # dict_keys(['a', 'g', 'e', 'c']) # dict_values([26, 20, 20, 24]) # dict_items([('a', 26), ('g', 20), ('e', 20), ('c', 24)])
-
可以看出,dic.items() 返回的結果是元組組成的列表
-
也就是說,通過dict1.items()這個函數,把字典形式的鍵、值,存在了一個元組內。
2.1 sorted
dic = {'a':26,'g':20,'e':20,'c':24} new_dic = sorted(dic) print(new_dic) # ['a','c','e','g']
-
可得出 sorted()默認是對字典的鍵從小到大進行排序
2.2 對鍵反向排序
#方式一 dic = {'a':26,'g':20,'e':20,'c':24} new_dic = sorted(dic,reverse=True) print(new_dic) #方式二:我們也可以先拿到所有的key,然后再對key排序 dic = {'a':26,'g':20,'e':20,'c':24} new_dic = sorted(dic.keys(),reverse=True) print(new_dic) #['g','e','c','a']
2.3對值排序
dic = {'a':26,'g':20,'e':20,'c':24} new_dic = sorted(dic.values()) print(new_dic) # [20,20,24,26]
2.4 lambda表達式
g = lambda x:x+1 print(g(1)) #2 print(g(3)) #4 當然,你也可以這樣使用: lambda x:x+1(1) 上例的代碼x為入口參數,x+1為函數體,用函數來表示為: def g(x): return x+1
2.5另一種方式的排序
dic = {'a':26,'g':20,'e':20,'c':24} print(dic.items()) # dict_items([('a', 26), ('g', 20), ('e', 20), ('c', 24)]) new_dic = sorted(dic.items(),key=lambda x:x[1],reverse=True) print(new_dic) # [('a', 26), ('c', 24), ('g', 20), ('e', 20)]
3.itemgetter
from operator import itemgetter d = {"a":8,"b":4,"c":12} print(sorted(d.items(),key=itemgetter(0),reverse=True)) #itemgetter(0),獲取key print(sorted(d.items(),key=itemgetter(1),reverse=True)) #itemgetter(1),獲取value #結果 # [('c',12),('b',4),('a',8)] # [('c',12),('a',8),('b',4)]