中的一个的值返回列表元素有对象通过它的属性
l = [obj1, obj2, obj3]
的列表中的每个obj
是一个类的一个对象,并具有id
属性。
如何从id
列表中返回obj
?
P.S. id
是独一无二的。并确保该列表包含所请求的对象id
中的一个的值返回列表元素有对象通过它的属性
l = [obj1, obj2, obj3]
的列表中的每个obj
是一个类的一个对象,并具有id
属性。
如何从id
列表中返回obj
?
P.S. id
是独一无二的。并确保该列表包含所请求的对象id
假设id
是一个可哈希对象,就像一个字符串一样,您应该使用字典而不是列表。
l = [obj1, obj2, obj3]
d = {o.id:o for o in l}
然后,您可以用它们的键(例如, d['ID_39A']
。
是'id's唯一的,确定其中一个objs是否有你想要的'id'? – depperm
'myobj = next(x for x in l if x.id == myid)' – khelwood
FWIW,所有的Python对象都有一个唯一的id,你可以用[内建的'id'函数] //docs.python.org/3.3/library/functions.html#id)。在CPython(又名标准Python)中,id是对象的内存地址。当然,这个ID可能不适合你的用例,因为每次程序运行时它都会改变。如果一个物体被摧毁,它的ID可以被回收。 –