我找到了this question过去相当有帮助,但这次我需要根据列表中的某些对象的某些属性的总和对它们进行排序。
具体来说,我有一个对象列表,每个对象在 3 个轴上都有尺寸属性(例如:obj.dimensions.x)
我知道您可以使用以下方法按一个属性对列表进行排序:
list.sort(key=lambda obj: obj.dimensions.x)
但是我如何根据每个对象三个轴的尺寸总和对其进行排序,以便尺寸为 3,3,3 的对象排在尺寸为 5,1,1(更大总和)的对象之前?
最佳答案
由于示例中的 obj
是整个对象,因此您可以执行以下操作:
lst.sort(key=lambda obj: obj.dimensions.x+obj.dimensions.y+obj.dimensions.z)
list
对于变量来说是一个糟糕的名称,因为它也是内置 list()
函数的名称。
关于python - 根据某些属性的总和对 python 中的对象列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18636957/