2016-01-17 3 views
1

im пытается добавить и удалить несколько экземпляров объектов из списка в Python. Тем не менее, я не мог найти короткий способ сделать это и должен был использовать для циклов ... есть ли какой-нибудь компактный способ сделать это?Как добавить/удалить несколько экземпляров объектов в/из списка 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(len(specialAgent)): 
    boids.remove(specialAgent[i]) 
+0

Обратите внимание, что удаление таким образом имеет сложность '' O (len (specialAgent) * len (boids)) '', если количество элементов велико, вам может понадобиться лучший способ их удаления, например. используя другую структуру данных. – ohw

+0

Действительно, иногда сценарий идет довольно медленно, в какой структуре вы бы рекомендовали хранить экземпляры объекта? –

ответ

1

Вы можете использовать назначение ломтика:

>>> 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] 
Смежные вопросы