python字典按值排序输出键_Python字典按键/值排序的几种方法

本文介绍对Python字典的按键和按值排序的几种方式。

按键排序# 对字典按键排序

def sort_by_key(d):

'''

d.items() 返回元素为 (key, value) 的可迭代类型(Iterable),

key 函数的参数 k 便是元素 (key, value),所以 k[0] 取到字典的键。

'''

return sorted(d.items(), key=lambda k: k[0])

def main():

dic = {'a': 2018, 'z': 2019, 'b': 2017}

print(sorted(dic)) # ['a', 'b', 'z']

print(sort_by_key(dic)) # [('a', 2018), ('b', 2017), ('z', 2019)]

print(dict(sort_by_key(dic))) # {'a': 2018, 'b': 2017, 'z': 2019}

if __name__ == '__main__':

main()

如上所示:如果直接调用sorted函数,只会对字典的键进行排序,返回键排序后的列表['a', 'b', 'z']

通过自己编写sort_by_key函数,首先通过sorted 函数返回列表,然后其中包含的元素为 tuple: ('a', 2018), ('b', 2017), ('z', 2019)<

你可能感兴趣的:(python字典按值排序输出键)