Pregunta

¿Cómo podría desempaquetar una tupla de desconocido para, por ejemplo, una lista?

Tengo varias columnas de datos y algunas funciones las dividen en una tupla. Quiero descomprimir esta tupla en variables pero no sé cuántas columnas tendré. ¿Hay alguna forma de descomprimirlo dinámicamente en tantas variables como necesito?

Gracias por tu ayuda :)

¿Fue útil?

Solución

¿Descomprime la tupla en una lista?

l = list(t)

Otros consejos

Puede usar el asterisco para desempaquetar una longitud variable. Por ejemplo:

foo, bar, *other = funct()

Esto debería poner el primer elemento en foo , el segundo en bar , y todo lo demás en otro .

Actualización: olvidé mencionar que solo es compatible con Python 3.0.

¿Quiere decir que desea crear variables sobre la marcha? ¿Cómo sabrá su programa cómo hacer referencia a ellos, si se crean dinámicamente?

Las tuplas tienen longitudes, al igual que las listas. Es perfectamente permisible hacer algo como:

total_columns = len(the_tuple)

También puede convertir una tupla en una lista, aunque no tiene ningún beneficio hacerlo a menos que desee comenzar a modificar los resultados. (Las tuplas no se pueden modificar; las listas sí.) Pero, de todos modos, convertir una tupla en una lista es trivial:

my_list = list(the_tuple)

Hay hay formas de crear variables sobre la marcha (por ejemplo, con eval ), pero de nuevo, ¿cómo sabría cómo referirse a ellas?

Creo que debería aclarar exactamente lo que está tratando de hacer aquí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top