Cómo crear una cantidad desconocida de variables en Python

Estoy haciendo un progtwig que lee una hoja de cálculo. Para cada columna, mi progtwig crea una lista de todos los valores en cada fila de esa columna. Para decidir cuántas listas necesito, tengo la variable columnBound, que es la cantidad total de columnas en la hoja de cálculo. ¿Cómo puedo crear un progtwig que a veces cree 3 listas si hay 3 columnas y a veces crea 8 si hay 8 columnas?

Si siempre hubiera 3 columnas, por ejemplo, sé que podría tener fácilmente list1, list2, list3 y comstackrlas según sea necesario, pero ¿cómo puedo hacer que mi progtwig cree un número dynamic de listas basadas en columnBound?

Es como quiero

for x in range (0, columnBound): listx = [] 

Donde tendría list1, list2, …. todo el camino hasta listx (o listcolumnBound)

Soy muy nuevo en la progtwigción y me encantaría la ayuda conceptual, un punto en la dirección correcta donde. No sé exactamente cómo buscar en Google esta pregunta porque es muy abstracta.

¡Gracias!

Información extra:

Mi progtwig utilizará la hoja de cálculo como entrada. Cada columna contiene números de referencia de 5 dígitos que corresponden a una dirección comercial específica. Luego, tomará una hoja de cálculo diferente donde cada fila tiene un código de referencia pero necesita una dirección insertada en la última columna. Consultaré cada lista para ver si tiene el código de referencia correspondiente e ingresaré la dirección correspondiente en la hoja de cálculo. A veces tendré 5 columnas de direcciones, a veces podría tener 8. Sé que hacer un progtwig que está tipificado explícitamente (donde creo específicamente la lista 1-8 y si hubiera 9 columnas de direcciones, la 9a quedaría fuera) es malo práctica. Quiero aprender cómo hacer que mi progtwig se adapte a cuántas columnas hay.

Puedes usar una lista de listas:

P.ej:

 [['col1','col2'],[1,2]] 

De esta manera, puede tener un número dynamic de listas.

Debe usar una lista de listas o un dictado de listas.

Una lista de listas (o de hecho un generador que le da tuplas a su vez) es el tipo de datos que recibiría del módulo csv . Que es probablemente lo que quieres usar.

Consulte: http://docs.python.org/dev/library/csv

Utilice una lista de listas para lograr esto. Esta línea:

list = [[0] * 3] * 3 crea una lista con tres referencias a la lista única [0,0,0].

Puede crear una lista de listas. Puede usar csv para extraer cada fila.

  rows=list() for x in range(0, columnBound): rows.append(extracted_rows_in_each_column) 

la salida se verá como: rows = [[valores de filas col # 1], [valores de filas col # 2], …….]

  rows=[[values of rows col #1],[values of rows col #2],.......] 

En su caso, creo que es mejor usar mi biblioteca pyexcel que leerá el archivo de Excel para usted y le dará los datos en una matriz de datos uniforme. También puede agregar un formato personalizado a la matriz de datos. Luego úsalo como si tuvieras una matriz bidimensional.

Supongamos que tiene estos datos en un archivo de Excel

 1 2 3 4 5 6 7 8 9 

Aquí está el código de ejemplo que muestra cómo puedes acceder aleatoriamente a una celda:

 >>> import pyexcel >>> reader = pyexcel.Reader("example.xls") >>> print reader[1][1] 5 

Aquí está el tutoral sobre su uso.