2010-11-08 14 views
5

¿Cuál es la sintaxis correcta para agregar una tupla recompuesta a una lista?Agregar tuplas a las listas

Por ejemplo, si tuviera dos listas:

>>> a = [(1,2,3),(4,5,6)] 
>>> b = [(0,0)] 

Entonces yo esperaría que el siguiente para el trabajo:

>>> b.append((a[0][0],a[0,2])) 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
TypeError: list indices must be integers, not tuple 

Por otra parte, cuando se me ha informado de que los índices deben ser enteros, como se hace ¿esto funciona?

>>> b.append((7,7)) 
>>> b 
[(0, 0), (7, 7)] 
+0

¿Puedes aclarar tu edición para decir que ese error fue el problema subyacente? Actualmente no está claro si su edición aclara la pregunta o identifica la causa raíz del error. –

Respuesta

4

que haya tratar de hacer esto:

(a[0][0],a[0,2]) 
      ^^^ 

esto es como hacer:

(a[0][0],a[(0,2)]) 

que al igual que el error dijeron: índices de la lista deben ser enteros, no tupla

si no me equivoco, creo que usted quería hacer:

b.append((a[0][0],a[0][2])) 
0

a [0,2] es su problema.

No se queja del apéndice, le dice que [0,2] no se puede usar como un índice para la lista a.

1

Su problema es el siguiente:

b.append((a[0][0],a[0,2])) 
        ^

intenta utilizar el índice tupla inexistente [0, 2] cuando quiere decir [0][2]

1

Los índices deben ser enteros. Es solo un error tipográfico en el que tiene a[0,2] en lugar de a[0][2]. El [0,2] es un intento de índice por tupla.

Cuestiones relacionadas