python - 根据字典中列表值的第二项对以列表为值的字典列表进行排序

标签 python python-3.x list dictionary

我有一个包含字典的列表,并且在每个字典中,值也列表如下:

a = [{"25.21" : [400,500] , "25.22" : [700,502]} , {"12.15" : [350,800] , "12.13" : [750,803]}]

我想根据列表的第二项对主列表进行排序,该第二项是字典的值,这又是主列表的一项。输出应该是这样的:

a = [ {"12.13" : [750,803] , "12.15" : [350,800] } , {"25.22" : [700,502], "25.21" : [400,500] }]

作为字典中每个键的值的列表的第一项将是不同的。如果可能的话,如何在不使用操作符 itemgetter 的情况下在 oneliner 中做到这一点?

这个问题与this one不同。 。在这种情况下,列表内字典的值仅包含整数,而此问题将列表作为主列表内字典的值。

最佳答案

使用排序

演示:

a = [{"25.21" : [400,500] , "25.22" : [700,502]} , {"12.15" : [350,800] , "12.13" : [750,803]}]

print(sorted(a, key=lambda x: list(x.items())[1][1], reverse=True))
#print(sorted(a, key=lambda x: x.items()[1][1], reverse=True))   #python2

输出:

[{'12.15': [350, 800], '12.13': [750, 803]}, {'25.21': [400, 500], '25.22': [700, 502]}]

关于python - 根据字典中列表值的第二项对以列表为值的字典列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52439646/

相关文章:

python - 使用 Python 将纬度、经度、值 CSV 转换为栅格 map

python - 如何使用另一个函数的返回类型来注释 Python 函数?

django - 在 django 项目中使用 xhtml2pdf 从 html 生成 pdf

python - 复制列表中的元素

python - 神经网络的多维输入

python - 如何在不更改 ubuntu 中的 linux 发行版的情况下升级 numpy

python - 如何在 Julia 中使用 Python 函数?

python-3.x - python : Why is entry set to the value of 1

python - 如何从具有值列表的字典列表中形成 DataFrame?

Erlang - 列表推导式 - 填充记录