在列表中对Python字典对象进行排序

继承的怪胎

我正在尝试使用字典键以升序对列表进行排序。

您可以假设每个词典级别只有一个键。

输入:

res = [{'hi': {'abc': 5}}, {'bye': {'def': 5}}, {'hi': {'cba': 5}}]

我的代码:

def getitem (item):
    return (item.keys())

print (sorted(res, key = getitem))

要求的输出:

[{'bye': {'def': 5}}, {'hi': {'abc': 5}}, {'hi': {'cba': 5}}]
戈戈伦

您已经很接近了-只需将dict传递iter()给它以创建一个迭代器,然后next()在迭代器中请求该项目即可。如果有多个字典,则对字典的第一个键进行排序(Python 3.6+字典按插入时间排序)。比较器可以返回相对优先级的元组,如果外部键相等,则可以对内部键进行排序。

res = [{'hi': {'abc': 5}}, {'bye': {'def': 5}}, {'hi': {'cba': 5}}]

def compare(d):
    outer = next(iter(d))
    return outer, next(iter(d[outer]))

print(sorted(res, key=compare))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python:对列表字典进行排序

如何在Python中的字典中对列表进行排序?

在Python 3.4中按日期对字典列表进行排序

在python中对字典列表列表进行排序

在Python中,给定字典中包含值列表的字典,如何根据该列表中的项目数量对字典进行排序?

在Python 3中对字典列表进行排序

在Python列表中对嵌套字典进行排序?

根据Python中的另一个字典列表对字典列表进行排序

根据字典中的“依赖项”对python列表进行排序

在具有字典的python中对嵌套列表进行排序

根据值对python中的字典列表进行排序,并将排序后的对象添加到新列表中

Python对汇总的字典列表值进行排序

通过在python中对字典进行排序来提取键列表

如何对列表中的字典值进行排序?

Python-在列表的字典中对值进行排序

如何对列表中给出的字典进行排序

按日期对列表的python字典进行排序

在python中对字典进行排序

在字典键中对列表进行排序

如何在字典中对列表进行排序

根据字典中对象的对应ID对对象列表进行排序

在字典中对元组列表进行排序

如何在python中的字典列表的字典中对数据进行排序?

对包含 Python 字典的列表进行排序

按字典python的值对列表进行排序

Python:如何对嵌套字典中的特定列表进行排序?

如何根据 Python 中的日期时间对字典列表进行排序

在字典中对列表进行排序

根据列表中的值对字典进行排序