如何在Python列表中添加/删除多个对象实例?
我试图在Python中从列表中附加和删除多个对象实例。然而,我找不到一个短的方法来做它,不得不用它来做周期。。。有什么紧凑的方法吗 附加到列表:如何在Python列表中添加/删除多个对象实例?,python,list,Python,List,我试图在Python中从列表中附加和删除多个对象实例。然而,我找不到一个短的方法来做它,不得不用它来做周期。。。有什么紧凑的方法吗 附加到列表: # Create objects specialAgent.append(Boid(1)) specialAgent.append(Boid(2)) for i in range(2): boids.append(specialAgent[-1-i]) 从列表中删除: # Destroy objects for i in range(l
# Create objects
specialAgent.append(Boid(1))
specialAgent.append(Boid(2))
for i in range(2):
boids.append(specialAgent[-1-i])
从列表中删除:
# Destroy objects
for i in range(len(specialAgent)):
boids.remove(specialAgent[i])
您可以使用切片分配:
>>> L = [1, 2, 3]
>>> L[3:] = [4, 5, 6]
>>> L
[1, 2, 3, 4, 5, 6]
>>> L[-3:] = []
>>> L
[1, 2, 3]
您还可以使用.extend()
列表方法将多个项目附加到列表中:
>>> L.extend([4, 5, 6])
>>> L
[1, 2, 3, 4, 5, 6]
请注意,以这种方式删除的复杂性为
O(len(specialAgent)*len(boids))
,如果项的数量很大,您可能需要更好的方法来删除它们,例如使用另一个数据结构。事实上,有时脚本运行得很慢,您建议使用哪种结构来存储对象实例?