0
votes

En boucle une liste de python lors de l'adhésion et de l'itération des valeurs fraîches / nouvelles

Je suis actuellement en train de construire une image pixel Itératrice, et je choisis un point sur la grille 2D et itératant vers l'extérieur ( haut, bas, gauche, droit fort>, etc ...). Comme je le développais, j'ai écrit une boucle comme celle-ci pour voir comment cela fonctionnerait:

expanding = [1, 2]
# Expected functionality: continues to iterate "3" forever.
for expand in expanding:
  expanding.append(3)


0 commentaires

3 Réponses :


1
votes

Je viens d'essayer cela moi-même en utilisant la méthode "énumérée" pour envelopper la liste et ci-dessous le code fait ce que vous demandez:

my_list = [1,2]

for i, element in enumerate(my_list):
   my_list.append(3)


0 commentaires

1
votes

voici un Post Parler des raisons de ne pas changer le conteneur que vous êtes itération , même si vous le pouvez.

Que diriez-vous d'utiliser une boucle tandis que lorsque vous avez effectué à la place: P>

my_list = [1,2]

while True:
    my_list.append(3)
    if #(check if out of range):
        break


0 commentaires

1
votes

Vous voudrez peut-être regarder une autre structure de données pour cela, comme une file d'attente ou une pile.

Comme très très mauvais exemple, il existe des algorithmes de graphes qui ne sont pas trop loin de la logique ci-dessous: < Pré> xxx

fournirait xxx


0 commentaires