2011-08-14 29 views
11

Me pregunto cómo poner una tupla en una matriz? ¿o es mejor utilizar matrices en conjunto para el diseño del programa en lugar de una tupla en una matriz? por favor, avísenme. agradecerá¿Puedo poner una tupla en una matriz en Python?

+3

¿Te refieres a hacer una serie de tuplas? ¿O para convertir una tupla * en * una matriz? – Nate

+5

¿Quiere decir 'list' en una' array' real? –

+0

solo quiero almacenar valor como texto e ID en tupla o lista pero quiero verificarlo con otro ciclo for. en lugar de usar un bucle for en un bucle for. Estoy pensando en usar matrices en matriz. Pero era bastante confuso si debería usar tuplas en la lista o listas en una lista. No soy muy bueno diseñando la estructura del diseño, por lo tanto, estoy pidiendo consejo y opinión – iCezz

Respuesta

14

Una cosa a tener en cuenta es que un tuple es inmutable. Esto significa que una vez que se ha creado, no se puede modificar en el lugar. Un list, por otro lado, es mutable, lo que significa que puede agregar elementos, eliminar elementos y cambiar elementos en el lugar. Una lista tiene una sobrecarga adicional, por lo tanto, solo use una lista si necesita modificar los valores.

Puede crear una lista de tuplas:

>>> list_of_tuples = [(1,2),(3,4)] 
>>> list_of_tuples 
[(1, 2), (3, 4)] 

o una lista de listas:

>>> list_of_lists = [[1, 2], [3, 4]] 
>>> list_of_lists 
[[1, 2], [3, 4]] 

La diferencia es que se puede modificar los elementos en la lista de listas:

>>> list_of_lists[0][0] = 7 
>>> list_of_lists 
[[7, 2], [3, 4]] 

pero no con la lista de tuplas:

>>> list_of_tuples[0][0] = 7 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: 'tuple' object does not support item assignment 

para iterar sobre una lista de tuplas:

>>> for (x,y) in list_of_tuples: 
... print x,y 
... 
1 2 
3 4 
+0

solo quiero guardar valor como texto e ID en tupla o lista, pero quiero verificarlo con otro ciclo for. en lugar de usar un bucle for en un bucle for. Estoy pensando en usar matrices en matriz. Pero era bastante confuso si debería usar tuplas en la lista o listas en una lista. No soy muy bueno diseñando la estructura del diseño, por lo tanto, estoy pidiendo consejo y opinión. – iCezz

+0

@iCezz He agregado un ejemplo de cómo puede iterar fácilmente sobre una lista de tuplas sin múltiples bucles for. – jterrace

+0

creo que esta es una buena idea, en este caso puedo recuperar el valor dentro de una tupla fácil y rápidamente sin tener que preocuparme de que los datos se cambien. gracias de nuevo – iCezz

6

si usted está hablando de list, se puede poner cualquier cosa en él, incluso diferentes tipos:

l=[10,(10,11,12),20,"test"] 

l[0] = (1,2,3) 
l.append((4,5)) 
l.extend((21,22)) #this one adds each element from the tuple 

si usted quiere decir array, no hay pitón array s no son compatibles con las tuplas.

+0

gracias por el consejo. esto es lo que quiero decir tupla en una matriz. Básicamente, almacena muchas tuplas en una lista. pero pensé que las tuplas no tienen un método, por lo tanto, creo que se agregará a la lista. Gracias por compartir – iCezz

1
a = [ ('b', i , "ff") for i in range(1,5)] 
Cuestiones relacionadas