gpt4 book ai didi

按对象中包含的字典值(按键)对对象列表进行排序的 Pythonic 方法

转载 作者:行者123 更新时间:2023-11-28 19:41:12 24 4
gpt4 key购买 nike

我正在寻求以更 pythonic 的方式执行以下操作的建议。

考虑:

class MyObj(object):
def __init__(self):
self.dict_properties = {}

假设我有一个包含多个 MyObj 实例的列表:

mylist = [<__main__.MyObj object at 0x1005e3b90, ...]

现在我想根据 MyObj 中 dict_properties 中某个键的值对 mylist 进行排序。

有效的是:

mylist.sort(lambda x,y: cmp(x.dict_properties['mykey'],
y.dict_properties['mykey']))

但是几乎感觉python

有没有更好的方法(也许使用operator.attrgetter)?

最佳答案

mylist.sort(key=lambda x: x.dict_properties['mykey'])

更简单,也更快。您可以使用 operator 并尝试组合一个 attrgetter 和一个 itemgetter,但是一个简单的 lambda(或 def) 在这里看起来最简单。

关于按对象中包含的字典值(按键)对对象列表进行排序的 Pythonic 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2078986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com