2010-05-26 14 views
12

Desidero dichiarare una matrice e tutti gli elementi presenti in ListBox devono essere eliminati indipendentemente dal nome del gruppo presente nel ListBox. qualsiasi corpo può aiutarmi a programmare in Python. Sto usando WINXP OS & Python 2.6.In Python Come posso dichiarare una matrice dinamica

+3

Che cos'è un ListBox? – kennytm

+5

Stai provando a fare una GUI? Quale quadro? – voyager

+0

@KennyTM Vedere i tag della domanda: una listbox è "un elemento di interfaccia utente grafica che consente all'utente di selezionare uno o più elementi da un elenco." –

risposta

61

In Python, uno list è un array dinamico. È possibile creare uno come questo:

lst = [] # Declares an empty list named lst 

Oppure si può riempire con gli oggetti:

lst = [1,2,3] 

È possibile aggiungere elementi utilizzando "aggiungere":

lst.append('a') 

È possibile iterare elementi dell'elenco utilizzando il ciclo for:

for item in lst: 
    # Do something with item 

Oppure, se si desidera tenere traccia dell'indice corrente:

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

Per rimuovere gli elementi, è possibile utilizzare il comando del o la funzione di rimozione come in:

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

nota, tuttavia, questo non può scorrere l'elenco e modificarlo allo stesso tempo; per farlo, dovresti invece scorrere su una porzione della lista (che è fondamentalmente una copia della lista). Come in:

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

In python, un array dinamico è un 'array' dal modulo array. Per esempio.

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 

Questo tipo di dati è essenzialmente un incrocio tra la 'lista' di tipo integrato e il tipo NumPy 'ndarray'. Come un narray, gli elementi negli array sono tipi C, specificati all'inizializzazione. Sono non puntatori agli oggetti Python; questo può aiutare a evitare alcuni errori di uso improprio e semantico, e modestamente migliora le prestazioni.

Tuttavia, questo tipo di dati ha essenzialmente gli stessi metodi di un elenco python, tranne alcuni metodi di conversione dei file con stringa &. Manca tutta la funzionalità numerica extra di un narray.

Vedere https://docs.python.org/2/library/array.html per dettagli.

Problemi correlati