前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >怎么给一个字典进行按值或key来排序?

怎么给一个字典进行按值或key来排序?

原创
作者头像
程序员小二
发布2022-01-11 17:47:56
1.3K0
发布2022-01-11 17:47:56
举报
文章被收录于专栏:python小分享python小分享

字典是具有指定数字或键的特定数据集或组。在 Python 以外的编程语言中,它们也被称为哈希映射或关联数组。

一般来说,它是键值对的形式,就像现实世界的字典一样。

要创建字典,请从左括号开始,添加键并键入一个冒号。之后,输入对应的值。对于多个键值对,用逗号分隔它们。

日常工作中,对一个字典,有时候我们需要进行按值或字典的key进行排序,所以接下来就说几个常用方法:

使用 Sorted()对字典的值进行排序

要根据值对列表进行排序,只需在命令部分键入 sorted(MarksDict.values()) 并按 Enter,例如:

代码语言:javascript
复制
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']

当然,如果你希望值是按倒序进行排列的,需要加参数:

代码语言:javascript
复制
reverse=True

加上这个参数后输出就是按倒序了:

代码语言:javascript
复制
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']

在 Sorted() 中使用 Lambda 列表表达式功能

升序

在这种方法中,我们将在 lambda 函数的输入下使用“字典”表达式。使用原始字典,我们将在一行中对值进行排序。

所以,首先,输入打印语句,然后添加键值对。之后,输入“for”循环,它将迭代字典中的各个项目并插入排序函数。

代码语言:javascript
复制
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 即可。

代码语言:javascript
复制
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'}

通过这种方法就可以灵活的实现字典的排序了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 Sorted()对字典的值进行排序
  • 在 Sorted() 中使用 Lambda 列表表达式功能
    • 升序
      • 降序
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
      http://www.vxiaotou.com