2012-03-17 36 views
26

W języku Python, w jaki sposób mogę usunąć obiekt z tablicy obiektów? Tak:Usunąć obiekt z listy obiektów w pythonie

x = object() 
y = object() 
array = [x,y] 
# Remove x 

Próbowałem array.remove() ale działa tylko z wartością, a nie konkretnego miejsca w tablicy. Muszę być w stanie usunąć obiekt zajęcie jego położenia (remove array[0])

+5

To nie jest tablica. –

+2

możliwy duplikat [Jak usunąć element z listy w Pythonie?] (Http://stackoverflow.com/questions/2056341/how-to-delete-element-from-list-in-python) – Acorn

Odpowiedz

4
del array[0] 

gdzie 0 jest indeksem obiektu w list (nie ma żadnej tablicy w pytona)

57

W pytona istnieją zamiast tablic używane są listy. Istnieją różne sposoby, aby usunąć obiekt z listy:

my_list = [1,2,4,6,7] 

del my_list[1] # Removes index 1 from the list 
print my_list # [1,4,6,7] 
my_list.remove(4) # Removes the integer 4 from the list, not the index 4 
print my_list # [1,6,7] 
my_list.pop(2) # Removes index 2 from the list 

W twoim przypadku odpowiednia metoda do wykorzystania jest pop, ponieważ zajmuje indeks zostać usunięte:

x = object() 
y = object() 
array = [x, y] 
array.pop(0) 
# Using the del statement 
del array[0] 
+1

Powinieneś zaktualizować drugi część twojej odpowiedzi i niech użyje .pop (0), ponieważ konkretnie prosi o usunięcie według pozycji. – redreinard

+1

Zmieniono redreinard, dzięki za wskazanie tego. –

-1

jeśli chcesz usunąć ostatni po prostu zrobić your_list.pop(-1) jeśli chcesz usunąć pierwszy your_list.pop(0) lub dowolny indeks chcesz usunąć

1

Jeśli znasz położenie tablicy można można przekazać go do siebie. Jeśli usuwasz wiele przedmiotów, sugeruję usunięcie ich w odwrotnej kolejności.

#Setup array 
array = [55,126,555,2,36] 
#Remove 55 which is in position 0 
array.remove(array[0]) 
Powiązane problemy