Wpis z mikrobloga

w jaki sposób mogę sprawić, żeby w pętli for po spełnieniu jakiegoś warunku pętla startowała od początku? powiedzmy, że mam for i in lst coś tam i jeżeli i będzie się równać 5 to program ma wywalić tę wartość z listy i zacząć iterować od początku?
#python
  • 19
@Torres99: da się to zrobić tylko pytanie - jak tak będzie leciał po elementach listy i coś spowoduje że wraca na zero - to czy to się nie zapętli na wieki? no bo cały czas będzie wpadać na ten twój warunek że coś tam równa się 5 więc wracaj od początku
powiedzmy, że mam for i in lst coś tam i jeżeli i będzie się równać 5 to program ma wywalić tę wartość z listy i zacząć iterować od początku?


@Oake: Twój pomysł tutaj wygląda nieco dziwnie. Jeśli pętla ma sprawdzać wartość elementu to nie ma powodu do powracania do początku. Elementy, które spełniały odpowiedni warunek będą go spełniać dalej.
Przykładowo jeśli chcesz wyrzucić z listy wszystkie obiekty, które nie są intami,
@KsaneK: @venomik: w moim przykładzie chodzi o powiązania pomiędzy elementami z listy sąsiadującymi ze sobą. jeżeli jest dane powiązanie to program usuwa element sąsiadujący z 'i' i tutaj pojawia się problem, bo potrzebuję cofnąć się do początku listy i sprawdzić czy teraz występuje dane powiązanie ( już po usunięciu jednego z elementów). Jeżeli nie ma powiązania iteracja po prostu idzie dalej.
@Oake:
Cały czas nie wydaje mi się abyś miał powód do powrotu do początku.
Mówisz o powiązaniu z sąsiednimi elementami. Jeśli wiesz masz listę składającą się z 10 obiektów i zauwazyłeś, że obiekt siódmy jest powiazany z ósmym - dlaczego chcesz ponownie sprawdzać czy obiekt pierwszy jest powiązany z drugim?
@venomik: to może pokażę o co mi konkretnie chodzi, bo nie umiem wytłumaczyć teoretycznie: mam dictionary w którym kluczami są zwierzęta a ich wartościami zwierzęta i rośliny, które te zwierzęta zjadają. parametrem podanym w funkcji jest lista zwierząt w danej kolejności. Funkcja sprawdza każde zwierzę po kolei: jeżeli obiekt(zwierzę,roślina) na lewo jest "diecie" iterowanego zwierzęcia, obiekt na lewo jest usuwany z listy i już tutaj potrzebuję cofnąć się do początku: czy
Oake - @venomik: to może pokażę o co mi konkretnie chodzi, bo nie umiem wytłumaczyć t...

źródło: comment_1648062345OUv3xmhTWHl0qJD0ZVO3YY.jpg

Pobierz
@venomik: i masz rację, nie potrzebuję wracać do samego początku, chodzi mi bardziej o to żeby po wykonaniu operacji usunięcia nie przechodziło do następnego i. Jeśli pomyślałem o tym w ten sposób, to nasuwa mi się pętla while w pętli for.