我有以下课程(修剪):
class DiskInstance(object):
def __init__(self, name, epoch, size)
self.name = name
self.epoch = epoch
self.size = size
Run Code Online (Sandbox Code Playgroud)
然后我定义了一个外部函数(上面的类外部):
def getepoch(object):
return object.epoch
Run Code Online (Sandbox Code Playgroud)
然后我实例化该类的几个对象并附加到名为DISKIMAGES的列表中.
我目前正在这样排序:
for image in sorted(DISKIMAGES, key=getedate, reverse=True):
Run Code Online (Sandbox Code Playgroud)
有什么方法可以先按getedate排序,然后按尺寸排序?
感谢任何帮助.
如果你想按时期排序然后按大小排序,这应该有效:
sorted(DISKIMAGES, key=lambda x: (x.epoch, x.size), reverse=True)
Run Code Online (Sandbox Code Playgroud)
或者如@chepner所指出的,您可以使用该operator.attrgetter方法
import operator
sorted(DISKIMAGES, key=operator.attrgetter('epoch', 'size'), reverse=True)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1468 次 |
| 最近记录: |