开发者社区 问答 正文

如何按值对字典进行排序?

我有一个从数据库中的两个字段读取的值字典:字符串字段和数字字段。字符串字段是唯一的,因此这是字典的键。

我可以对键进行排序,但是如何根据值进行排序?

展开
收起
游客6qcs5bpxssri2 2019-09-14 22:19:46 885 分享 版权
1 条回答
写回答
取消 提交回答
  • 不可能对字典进行排序,只能获得已排序字典的表示。字典本质上是无序的,但其他类型(如列表和元组)则不是。所以你需要一个有序的数据类型来表示排序的值,这将是一个列表 - 可能是一个元组列表。 例如,

    import operator

    x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}

    sorted_x = sorted(x.items(), key=operator.itemgetter(1))

    sorted_x将是由每个元组中的第二个元素排序的元组列表。dict(sorted_x) == x。

    2019-09-14 22:20:32
    赞同 展开评论
问答分类:
问答地址: