valores una tuplas tupla son qué obtener listas lista las entre elementos diferencia como agregar acceder python list types append tuples

python - tuplas - Agregue una tupla a una lista: ¿cuál es la diferencia entre dos formas?



obtener valores de una tupla python (5)

Escribí mi primer "Hello World" hace 4 meses. Desde entonces, he estado siguiendo un curso de Coursera Python proporcionado por Rice University. Recientemente trabajé en un mini-proyecto con tuplas y listas. Hay algo extraño en agregar una tupla en una lista para mí:

a_list = [] a_list.append((1, 2)) # Succeed! Tuple (1, 2) is appended to a_list a_list.append(tuple(3, 4)) # Error message: ValueError: expecting Array or iterable

Es bastante confuso para mí. ¿Por qué especificar la tupla que se va a ValueError usando "tuple (...)" en lugar de simple "(...)" causará un ValueError ?

BTW: CodeSkulptor herramienta de codificación CodeSkulptor utilizada en el curso


Creo que tuple() toma una lista como argumento Por ejemplo,

tuple([1,2,3]) # returns (1,2,3)

Vea qué sucede si envuelve su matriz con corchetes


La función de tuple toma solo un argumento que tiene que ser un iterable.

tuple([iterable])

Devuelva una tupla cuyos elementos sean iguales y en el mismo orden que los elementos de iterable.

Intente hacer 3,4 un iterable usando [3,4] (una lista) o (3,4) (una tupla)

Por ejemplo

a_list.append(tuple((3, 4)))

trabajará


No debería haber diferencia, pero tu método de tupla es incorrecto, intenta:

a_list.append(tuple([3, 4]))


No tiene nada que ver con append . tuple(3, 4) todo por sí mismo plantea ese error.

La razón es que, como dice el mensaje de error, tuple espera un argumento iterable. Puede hacer una tupla del contenido de un solo objeto pasando ese único objeto a la tupla. No puedes hacer una tupla de dos cosas pasándolas como argumentos separados.

Solo haz (3, 4) para hacer una tupla, como en tu primer ejemplo. No hay razón para no usar esa sintaxis simple para escribir una tupla.


Porque la tuple(3, 4) no es la sintaxis correcta para crear una tupla. La sintaxis correcta es -

tuple([3, 4])

o

(3, 4)

Puede verlo desde aquí: tuple