2010-05-26 171 views
12

Quiero declarar una matriz y todos los elementos presentes en el ListBox deben eliminarse independientemente del nombre de grupo presente en el ListBox. puede cualquier cuerpo ayudarme a codificar en Python. Estoy usando WINXP OS & Python 2.6.En Python ¿Cómo puedo declarar una matriz dinámica?

+3

¿Qué es un ListBox? – kennytm

+5

¿Estás tratando de hacer una GUI? ¿Qué marco? – voyager

+0

@KennyTM Consulte las etiquetas de la pregunta: un cuadro de lista es "un elemento de interfaz gráfica de usuario que permite al usuario seleccionar uno o más elementos de una lista". –

Respuesta

61

En Python, un list es una matriz dinámica. Puede crear uno como este:

lst = [] # Declares an empty list named lst 

O puede llenar con artículos:

lst = [1,2,3] 

Se pueden añadir elementos utilizando "Agregar":

lst.append('a') 

puede iterar sobre los elementos de la lista mediante el for bucle:

for item in lst: 
    # Do something with item 

O, si desea realizar un seguimiento del índice actual:

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

para eliminar los elementos, puede utilizar el comando del o la función de extracción como en:

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

Nota, sin embargo, ese no puede iterar sobre la lista y modificarla al mismo tiempo; para hacerlo, en su lugar debe iterar sobre un segmento de la lista (que básicamente es una copia de la lista). Como en:

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

En python, una matriz dinámica es una 'matriz' del módulo de matriz. P.ej.

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 

Este tipo de datos es esencialmente una mezcla entre el tipo de built-in 'lista' y el tipo numpy 'ndarray'. Como un ndarray, los elementos en arrays son tipos C, especificados en la inicialización. Son no punteros a objetos de pitón; esto puede ayudar a evitar algunos errores de uso y semánticos, y modestamente mejora el rendimiento.

Sin embargo, este tipo de datos tiene esencialmente los mismos métodos que una lista de Python, excepto algunos pocos métodos de conversión de archivos &. Le falta toda la funcionalidad numérica adicional de un ndarray.

Consulte https://docs.python.org/2/library/array.html para obtener más detalles.

Cuestiones relacionadas