2010-12-09 22 views
0

Comment pourrais-je créer des tableaux pour les éléments dans une liste quelque chose commeComment puis-je créer les tableaux suivants

list = ["a","b","c"] 
    for thing in list: 
    thing = [] 
+1

Quel devrait être le résultat? Actuellement, il semble que vous souhaitiez remplacer chaque élément de 'list' (vous devriez lui donner un autre nom) avec une liste vide:' [[], [], []] '. –

+0

id finalement aimer, a = [], b = [], c = [] – user428370

+0

@ user428370: écrire les instructions d'assignation simples semble plus simple que de jouer avec une boucle. Quel est le point de rendre cela plus compliqué? –

Répondre

2

Si vous voulez dire la création de réseaux mondiaux (niveau du module), vous pouvez le faire:

for thing in list: 
    globals()[thing] = [] 
+0

c'est exactement ce que je voulais, merci – user428370

0
x = dict ([(name, []) for name in ["a", "b", "c"]]) 

?

ou peut-être

x = [[] for name in ["a", "b", "c"]] 
0

[list() for i in items]

[list() for i in range(len(items))]

Si vous voulez envelopper les éléments actuels de items dans les listes, vous pouvez faire

[[i] for i in items]

items est utilisé pour le nom de variable puisque list est un builtin.

3

Je pense que la réponse stricte à ce que vous demandez est:

for x in lst: 
    locals()[x] = [] 

locals peut être globals , en fonction de ce que vous voulez. Mais il est généralement conseillé d'utiliser un dictionnaire pour conserver ces valeurs à la place (comme d'autres l'ont déjà proposé).

[Modifier] une autre façon:

locals().update(dict.fromkeys(lst, [])) 
+0

Cet exemple comme celui ci-dessus est le juste ce dont j'avais besoin, merci – user428370

1
list = ["a","b","c"] 
for thing in list: 
    exec(thing+"=[]") 

est ce que vous voulez?

+0

avait aucune idée que ça pourrait fonctionner comme ça, merci – user428370

Questions connexes