J'essaie de créer et d'attribuer 10 variables, que différencie par leur index, toutes comme des listes vides dans un La sortie idéale serait d'avoir Je sais que je pouvais écrire tout cela mais je pensais que je devrais être capable de créer une boucle simple. Le problème principal consiste à attribuer la liste vide sur chaque itération p> pour code> boucle. agent_1 = [], agent_2 = [], agent_n = [], [] code> p>
3 Réponses :
Pourquoi n'utilisez-vous pas l'objet dict avec des clés égales à l'agent_i. voici le lien vers
C'est une idée horrible. Je laisserai le code parler de lui-même:
a = {}
for i in xrange(10):
ab = "{}_{}".format("agent", i)
a[ab] = []
print a
#OP
{'agent_0': [], 'agent_1': [], 'agent_2': [], 'agent_3': [], 'agent_4': [], 'agent_5': [], 'agent_6': [], 'agent_7': [], 'agent_8': [], 'agent_9': []}
Pourriez-vous ajouter une explication de ce que votre code fait et pourquoi c'est la bonne solution?
Lorsque vous essayez de créer une bande de variables comme
agent_1 code>agent_2 code> C'est un signe que vous devriez utiliser une liste à la place et à l'aide deagent [1] code> etc. .Ne faites pas cela même si vous trouvez un moyen. Utilisez une liste 2 dimensions à la place, c'est-à-dire
agent = [] code> avant la boucle, puisagent [i] = [] code> à l'intérieur, puis accédez aux éléments à l'aide de[n] [m] code>.1. Python ne se soucie pas du nom de la variable, FOO = 1 et Baz = 1, n'a pas d'importance, donc cela ne vous laissera pas faire cela. 2. Autant de personnes déjà mentionnées, une liste 2-D est la voie à suivre.
@Selcuk Bonne idée, j'ai écrit cela, mais on dirait que quelque chose est légèrement désactivé: Agent, Valeur = [], [] pour i in gamme (1,10): agent.append (valeur) Imprimer (Agent [0] [2] )
@Madman Vous pouvez poster cela comme une nouvelle question expliquant ce qui ne va pas avec cela.
Je suis sorti, @selcuk merci! b = 1, 40; agent_basket = [[[[] pour panier dans la plage (B)]] Agent_basket