本文主要是介绍【怎么给一个字典进行按值或key来排序?】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
🤵♂️ 个人主页@老虎也淘气 个人主页
✍🏻作者简介:Python学习者
🐋 希望大家多多支持我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注
怎么给一个字典进行按值或key来排序?
字典是具有指定数字或键的特定数据集或组。在 Python 以外的编程语言中,它们也被称为哈希映射或关联数组。
一般来说,它是键值对的形式,就像现实世界的字典一样。
要创建字典,请从左括号开始,添加键并键入一个冒号。之后,输入对应的值。对于多个键值对,用逗号分隔它们。
日常工作中,对一个字典,有时候我们需要进行按值或字典的key进行排序,所以接下来就说几个常用方法:
1.使用 Sorted()对字典的值进行排序
要根据值对列表进行排序,只需在命令部分键入 sorted(MarksDict.values()) 并按 Enter,例如:
markDict = {'USA': '328_200_000', 'France': '67_000_000', 'China': '1_393_000_000'}
sorted(MarksDict.values())
# output
['1_393_000_000', '328_200_000', '67_000_000']
当然,如果你希望值是按倒序进行排列的,需要加参数:
reverse=True
加上这个参数后输出就是按倒序了:
markDict = {'USA': '328_200_000', 'France': '67_000_000', 'China': '1_393_000_000'}
sorted(MarksDict.values(), reverse=True)
# output
['67_000_000', '328_200_000', '1_393_000_000']
2.在 Sorted() 中使用 Lambda 列表表达式功能
升序
在这种方法中,我们将在 lambda 函数的输入下使用“字典”表达式。使用原始字典,我们将在一行中对值进行排序。
所以,首先,输入打印语句,然后添加键值对。之后,输入“for”循环,它将迭代字典中的各个项目并插入排序函数。
markDict = {'USA': '328_200_000', 'France': '67_000_000', 'China': '1_393_000_000'}
print({k:v for k,v in sorted(markDict.items(), key=lambda item: item[1])})
#output
{'China': '1_393_000_000', 'USA': '328_200_000', 'France': '67_000_000'}
请注意,在 sort 函数内部,有一个 lambda 函数。项值为 1 的 key 参数的这表示我们要根据值对字典进行排序。如果不要以字典的key来排序,那么应该将其更改为 0。
降序
如果要以降序格式对字典进行分类,只需使用 reverse 语句并将其 Value 变为 True 即可。
markDict = {'USA': '328_200_000', 'France': '67_000_000', 'China': '1_393_000_000'}
print({k:v for k,v in sorted(markDict.items(), key=lambda item: item[1], reverse=True)})
#output
{'France': '67_000_000', 'USA': '328_200_000', 'China': '1_393_000_000'}
通过这种方法就可以灵活的实现字典的排序了
这篇关于【怎么给一个字典进行按值或key来排序?】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!