做网站该读啥学校,做收款二维码的网站,自己做外贸购物网站,网站建设时间规划表先总结一下#xff0c;分为以下四种情况#xff1a;
情况一#xff1a;按照键排序#xff0c;只输出排序后所有的键情况二#xff1a;按照值排序#xff0c;只输出排序后所有的值情况三#xff1a;按照键排序#xff0c;同时输出排序后所有的键和对应的值情况四#…先总结一下分为以下四种情况
情况一按照键排序只输出排序后所有的键情况二按照值排序只输出排序后所有的值情况三按照键排序同时输出排序后所有的键和对应的值情况四按照值排序同时输出排序后所有的键和对应的值
情况一按照键排序只输出排序后所有的键
直接使用 sorted() 方法默认是对字典的键进行排序 dict {b: 2, a: 1, d: 4, c: 3}print(sorted(dict))
[a, b, c, d]也可以先用 dict.keys() 取字典的键然后再使用 sorted() 方法进行排序 dict {b: 2, a: 1, d: 4, c: 3}print(sorted(dict.keys()))
[a, b, c, d]以上方法是从小到大排序如果是从大到小添加 reverseTrue 即可 dict {a: 2, b: 1, c: 4, d: 3}print(sorted(dict.keys(), reverseTrue))
[d, c, b, a]情况二按照值排序只输出排序后所有的值
先用 dict.values() 取字典的值然后再使用 sorted() 方法进行排序 dict {a: 2, b: 1, c: 4, d: 3}print(sorted(dict.values()))
[1, 2, 3, 4]同理如果是从大到小排序添加 reverseTrue 即可 dict {a: 2, b: 1, c: 4, d: 3}print(sorted(dict.values(), reverseTrue))
[4, 3, 2, 1]情况三按照键排序同时输出排序后所有的键和对应的值
方法一dict.items() 方法可以得到包含字典键和值的元组然后使用匿名函数 lambda其中 i[0] 表示字典的键 dict {a: 2, b: 1, c: 4, d: 3}print(sorted(dict.items(), keylambda i: i[0]))
[(a, 2), (b, 1), (c, 4), (d, 3)]方法二使用 operator 模块中的 itemgetter 函数其中 itemgetter(0) 表示字典的键 from operator import itemgetterdict {a: 2, b: 1, c: 4, d: 3}print(sorted(dict.items(), keyitemgetter(0)))
[(a, 2), (b, 1), (c, 4), (d, 3)]itemgetter 函数用于获取对象的哪些维的数据参数为一些序号以下举例说明 import operatora [1, 2, 3, 4]b operator.itemgetter(0) # 定义函数b获取对象的第0个域的值print(b(a))
1b operator.itemgetter(0, 1) # 定义函数b获取对象的第0个和第1个域的值print(b(a))
(1, 2)情况四按照值排序同时输出排序后所有的键和对应的值
方法一与情况三类似只需要将 i[0] 改成 i[1] 即可 dict {a: 2, b: 1, c: 4, d: 3}print(sorted(dict.items(), keylambda i: i[1]))
[(b, 1), (a, 2), (d, 3), (c, 4)]方法二与情况三类似只需要将 itemgetter(0) 改成 itemgetter(1) 即可 from operator import itemgetterdict {a: 2, b: 1, c: 4, d: 3}print(sorted(dict.items(), keyitemgetter(0)))
[(a, 2), (b, 1), (c, 4), (d, 3)]