2012-01-27 18 views
5

estoy inicializar una gran cantidad de variables de cadena de la siguiente manera:Inicializar muchas variables de cadena

a, b, c, d, e, f, g, h = "", "", "", "", "", "", "", ""

se puede ver que esto no se ve muy bien (morever las variables tienen nombres más largos). ¿Hay algún atajo más compacto?

+0

¿Cuáles son las variables? ¿Puedes usar una sola lista o diccionario en su lugar? ¿Por qué unir todos los nombres a la vez? – jfs

+0

Las variables son atributos (parámetros) como id, name, description, ... y muchos otros extraídos de una página web. En el ciclo 'for', algunos valores serán '' '' y algunos se llenarán y se agregará una tupla (a, ... h) a una lista de tuplas y las variables deberán resetearse para la siguiente ronda de ciclo para '' "(porque los valores anteriores no deberían mezclarse) – xralf

+0

@JFSebastian Usaré el diccionario como sugiere Rik. Pero él lo borró. – xralf

Respuesta

14

Sin duda, más compacta:

a=b=c=d=e=f=g=h="" 
+6

Tenga en cuenta que esto solo tiene sentido cuando se asignan valores inmutables. –

8

Como una respuesta alternativa a la solución a=b=c=...=value intento:

a, b, c, d, e, f, g, h = [""]*8 

Aunque si usted está haciendo esto, podría tener sentido para poner las variables en una lista si tienen alguna relación entre ellos.

+0

¡Mucho más "pitonesco"! –

2

Para la posteridad:

from itertools import repeat 
a, b, c, d, e, f, g, h, *_ = repeat("") 
+0

Así que probé esto y me pregunté sobre la construcción de '* _'. Eso es básicamente una serie de argumentos que no nos importan. Y sin un número en su lista de argumentos, 'repeat' se repetirá indefinidamente. Mi computadora está encerrada. Ni siquiera pude salir del programa. No hagas esto a menos que especifiques un argumento numérico. – Bobort

2
from collections import defaultdict 

Para inicializar:

attrs = defaultdict(str) 

Para obtener 'a' valor:

print attrs['a'] # -> '' 

para cambiarlo:

attrs['a'] = 'abc' 
0

prueba este.

a, b, c, d, e, f, g, h = ["" for i in range(8)] 
Cuestiones relacionadas