La création d'une nouvelle liste pour chaque boucle for
Je souhaite créer une nouvelle liste à chaque fois d'une boucle for s'exécute
#Reading user input e.g. 10
lists = int(raw_input("How many lists do you want? "))
for p in range(0,pooled):
#Here I want to create 10 new empty lists: list1, list2, list3 ...
Est-il de toute façon intelligente de le faire?
Merci,
Kasper
Tous les intervenants (au moins jusqu'à maintenant): l'OP pas demander une liste de listes. Il a demandé à avoir 10 listes! (Vérifier ma réponse si ce n'est pas clair).
Oui, mais c'est mauvais la pratique.
Soins à articuler? Il pourrait avoir besoin pour faire ce pour quelque raison que ce soit, il n'a pas expliqué dans la question.
L'OP ne peut pas avoir spécifiquement demandé une liste de liste, mais je soupçonne que c'est essentiellement ce qu'il veut. Il n'y a pas de point de prendre le problème plus compliqué qu'il doit être.
pourriez avoir besoin de faire cela pour quelque raison que ce soit, il n'a pas expliqué dans la question." C'est le premier problème que nous avons ici, il est en demande d'une solution pour rendre sa solution à ce problème réel travail! Comme pour la mauvaise pratique: je ne vois aucune raison pourquoi vous voulez à la place de ceux de façon dynamique dans l'espace de noms courant. Pourquoi voudriez-vous le faire, si y accéder de nouveau n'est possible que par la même laid mécanismes de la façon dont vous les avez il y a d'abord (comme on le voit dans votre réponse). Vous ne pouvez pas fiable référer à eux comme list1, list2, etc, parce que tu ne sais pas, si ils sont là.
Oui, mais c'est mauvais la pratique.
Soins à articuler? Il pourrait avoir besoin pour faire ce pour quelque raison que ce soit, il n'a pas expliqué dans la question.
L'OP ne peut pas avoir spécifiquement demandé une liste de liste, mais je soupçonne que c'est essentiellement ce qu'il veut. Il n'y a pas de point de prendre le problème plus compliqué qu'il doit être.
pourriez avoir besoin de faire cela pour quelque raison que ce soit, il n'a pas expliqué dans la question." C'est le premier problème que nous avons ici, il est en demande d'une solution pour rendre sa solution à ce problème réel travail! Comme pour la mauvaise pratique: je ne vois aucune raison pourquoi vous voulez à la place de ceux de façon dynamique dans l'espace de noms courant. Pourquoi voudriez-vous le faire, si y accéder de nouveau n'est possible que par la même laid mécanismes de la façon dont vous les avez il y a d'abord (comme on le voit dans votre réponse). Vous ne pouvez pas fiable référer à eux comme list1, list2, etc, parce que tu ne sais pas, si ils sont là.
OriginalL'auteur user838744 | 2011-07-11
Vous devez vous connecter pour publier un commentaire.
Utiliser une liste de compréhension:
Le problème, c'est que l'OP est d'avoir un problème avec sa solution à son problème, et il vous demande de résoudre l'ancienne, plutôt que de poser la question à résoudre son problème.
L'OP peut avoir littéralement demandé pour les listes avec des noms à la suite d'un certain modèle, mais depuis que cette exigence n'était pas stressé, je ne pense pas que -1 est dans l'ordre. C'est le Pythonic solution.
OriginalL'auteur Fred Foo
La façon la plus simple est de créer une liste de listes:
Ensuite, vous pouvez accéder, par exemple, la liste 3 avec
list[2]
, et le ième élément de la liste 3 aveclist[2][i]
.Je voulais dire que la solution la plus simple était de créer une liste de listes (ce qui je pense est vrai). Une compréhension de liste est probablement la meilleure façon d'y parvenir, mais peut-être pas le plus facile à comprendre.
Oui, la création d'une liste de listes est en effet la plus simple et la meilleure solution. Je n'ai faveur de l'enseignement Python utilisateurs sur les interprétations de la liste, car ils présentent un propre, l'expression style orienté de plus en plus populaire parmi les Pythoneux.
Oui, vous avez probablement raison. Personnellement, j'adore les interprétations de la liste.
OriginalL'auteur Peter Collingridge
peut-être dans votre situation, vous pourriez utiliser un defaultdict?
defaultdict
peut s'avérer utile pour l'OP.Je n'ai pas downvote, mais je pense que l'utilisation d'
defaultdict
est de plus en plus de génie pour ce qui semble être un débutant du problème.Merci pour vos réponses! Mon plan initial était d'utiliser des noms de liste, mais j'ai réalisé que d'une liste de listes a été suffisant pour mes besoins
ce n'est pas "suffisant" pour vous, c'est ce que vous virtuellement toujours vous voulez dans de telles situations. L'autre n'est pas vraiment gérable, ni recommandable.
OriginalL'auteur robert king