2010-05-26 4 views
12

Chcę zadeklarować tablicę i wszystkie elementy znajdujące się w polu ListBox powinny zostać usunięte niezależnie od nazwy grupy znajdującej się w ListBox. czy jakiekolwiek ciało pomoże mi kodować w Pythonie. Używam WINXP OS & Python 2.6.W języku Python Jak mogę zadeklarować dynamiczną tablicę

+3

Co to jest ListBox? – kennytm

+5

Czy próbujesz wykonać GUI? Jakie ramy? – voyager

+0

@KennyTM Zobacz tagi pytania: a listbox to "graficzny element interfejsu użytkownika, który pozwala użytkownikowi wybrać jeden lub więcej elementów z listy." –

Odpowiedz

61

W języku Python, list jest tablicą dynamiczną. Można utworzyć takiego:

lst = [] # Declares an empty list named lst 

Albo można wypełnić go z przedmiotów:

lst = [1,2,3] 

można dodać elementy używając „dołączyć”:

lst.append('a') 

można iteracyjne nad elementami listy za pomocą pętli for:

for item in lst: 
    # Do something with item 

Albo, jeśli chcesz śledzić aktualną indeksie:

for idx, item in enumerate(lst): 
    # idx is the current idx, while item is lst[idx] 

Aby usunąć elementy, można użyć del polecenia lub funkcji usunąć jak w:

del lst[0] # Deletes the first item 
lst.remove(x) # Removes the first occurence of x in the list 

Note, nie można jednak iterować listy i modyfikować jej w tym samym czasie; aby to zrobić, powinieneś zamiast tego powtórzyć fragment na liście (która jest w zasadzie kopią listy). Tak jak w:

for item in lst[:]: # Notice the [:] which makes a slice 
     # Now we can modify lst, since we are iterating over a copy of it 
4

W pythonie, dynamiczna tablica jest "tablicą" z modułu macierzy. Na przykład.

from array import array 
x = array('d')   #'d' denotes an array of type double 
x.append(1.1) 
x.append(2.2) 
x.pop()     # returns 2.2 

Ten typ danych jest w zasadzie skrzyżowanie wbudowanym „lista” typu i numpy „ndarray” typu. Podobnie jak ndarray, elementy w tablicach są typami C określonymi podczas inicjalizacji. Są to , a nie wskaźniki do obiektów python; może to pomóc w uniknięciu niewłaściwego użycia i błędów semantycznych, i skromnie poprawia wydajność.

Jednak ten typ danych ma zasadniczo takie same metody, jak lista pytonów, z wyjątkiem kilku metod konwersji pliku &. Brakuje w nim wszystkich dodatkowych funkcji numerycznych ndarray.

Aby uzyskać szczegółowe informacje, patrz https://docs.python.org/2/library/array.html.