¿Cómo puedo crear listas de una lista de cadenas?

Tengo una lista de cadenas como:

names = ['apple','orange','banana'] 

Y me gustaría crear una lista para cada elemento de la lista, que se denominaría exactamente como la cadena:

 apple = [] orange = [] banana = [] 

¿Cómo puedo hacer eso en Python?

Related of "¿Cómo puedo crear listas de una lista de cadenas?"

Harías esto creando un dict :

 fruits = {k:[] for k in names} 

Luego acceda a cada uno por (por ejemplo, 🙂 fruits['apple'] – ¡no quiere ir por el camino de variables separadas!

Siempre usa la respuesta de Jon Clements .


globals() devuelve el diccionario que respalda el espacio de nombres global, en cuyo punto puede tratarlo como cualquier otro diccionario. No deberías hacer esto. Conduce a la contaminación del espacio de nombres, puede anular las variables existentes y hace que sea más difícil depurar los problemas resultantes de esto.

 for name in names: globals().setdefault(name, []) apple.append('red') print(apple) # prints ['red'] 

Debería saber de antemano que la lista contenía ‘manzana’ para referirse a la variable ‘manzana’ más adelante, momento en el cual podría haber definido la variable normalmente. Así que esto no es útil en la práctica. Dado que la respuesta de Jon también produce un diccionario, no hay ventajas en el uso de globals .