【发布时间】:2021-04-20 14:58:46
【问题描述】:
如果我有一个由类组成的对象列表,有没有办法获取该列表中特定对象的索引?
我试过这样使用 list.index:
obj_list = [object1(), object2()]
object1_index = obj_list.index(object1())
return object1_index
但这只是返回一个 ValueError,表示 object1() 不在列表中,即使它在列表中。
【问题讨论】:
-
object1是类名吗?如果是这样,object1()(带括号)会实例化一个新对象,这不是您可能在这里尝试做的。 -
除非您的类实现
__eq__,否则您可以预期obj_list.index无法找到匿名对象。 -
顺便说一句,
object1()已经不正确,因为您从一个类中创建了一个对象。它应该是Class1()。object1 = Class1()其中()表示创建该类的对象 -
嗨,欢迎来到 Stack Overflow。由于您在 Python 中提供示例,因此非常适合最常用的编码风格,以帮助我们阅读您的代码。在目前的状态下,我们必须做更多的努力才能阅读它。例如,类的命名约定是 CapWords。另外,尽量避免使用名为“object”的类,这可能会使读者感到困惑。 python.org/dev/peps/pep-0008
标签: python list object indexing