¿Cómo asignar cada elemento de una lista a una variable separada?

Si tengo una lista, diga:

ll = ['xx','yy','zz'] 

y quiero asignar cada elemento de esta lista a una variable separada:

 var1 = xx var2 = yy var3 = zz 

sin saber cuánto dura la lista, ¿cómo haría esto? Yo he tratado:

 max = len(ll) count = 0 for ii in ll: varcount = ii count += 1 if count == max: break 

Sé que varcount no es una forma válida de crear una variable dinámica, pero lo que estoy tratando de hacer es crear var0 , var1 , var2 , var3 , etc. en función de lo que es el recuento.

Editar ::

No importa, debería empezar una nueva pregunta.

en general, no se sugiere usar ese tipo de progtwigción para un gran número de elementos / variables de la lista.

Sin embargo, la siguiente statement funciona bien y como se esperaba

 a,b,c = [1,2,3] 

Esto se llama “desestructuración”.

podría ahorrar algunas líneas de código en algunos casos, por ejemplo, tengo a, b, c como enteros y quiero sus valores de cadena como sa, sb, sc:

 sa, sb,sc = [str(e) for e in [a,b,c]] 

o mejor

 sa, sb,sc = map(str, (a,b,c) ) 

No es una buena idea hacer esto; ¿Qué harás con las variables después de definirlas?

Pero suponiendo que tengas una buena razón, aquí tienes cómo hacerlo en python:

 for n, val in enumerate(ll): globals()["var%d"%n] = val print var2 # etc. 

Aquí, globals() es el espacio de nombres local presentado como un diccionario. La numeración comienza en cero, como los índices de matriz, pero puede decirle a enumerate() que comience desde 1 en su lugar.

Pero nuevamente: es poco probable que esto sea realmente útil para usted.

Debería volver atrás y reconsiderar por qué necesita variables dinámicas. Lo más probable es que pueda crear la misma funcionalidad haciendo un bucle en la lista, o dividiéndola en trozos.

Si el número de elementos no cambia, puede convertir la lista en una cadena y dividirla en variables.

 wedges = ["Panther", "Ali", 0, 360] a,b,c,d = str(wedges).split() print a,b,c,d 

En su lugar, haga esto:

 >>> var = ['xx','yy','zz'] >>> var[0] 'xx' >>> var[1] 'yy' >>> var[2] 'zz' 

Supongo que está obteniendo la lista a través de una consulta SQL, por qué no puede comprometerse con una longitud. Con eso me parece obvio que desea tomar esos valores y ejecutar comandos SQL adicionales usando cada valor de la lista recién adquirida por separado. Este no es un concepto desviado si lo toma desde una perspectiva SQL, y si estoy en lo correcto, le proporcionaré la syntax. Sin embargo, no necesitará crear nombres de variables separados con esta solución y no perder la versatilidad en la que está trabajando. SI ESTOY INCORRECTO POR PERDER EL TIEMPO