就像是:
class Test:
def __init__(self, n):
self.id = n
def __str__(self):
return str(self.id)
my_list = []
my_list.append(Test(1))
my_list.append(Test(2))
my_list.append(Test(3))
Run Code Online (Sandbox Code Playgroud)
是否可以获取列表中具有最大或最小id的元素?
您甚至不需要numpy.argmax()在您的示例中求助。由于您的对象位于标准 Python 列表中,因此您还可以使用 Python 的内置max()函数:
index = max(range(len(my_list)), key=lambda i: my_list[i].id)
Run Code Online (Sandbox Code Playgroud)
或者
index = max(enumerate(my_list), key=lambda x: x[1].id)[0]
Run Code Online (Sandbox Code Playgroud)
还将为您提供具有 maximal 的项目的索引id。