for int loop (List) -> nie przypisuje wartosci

Odpowiedz Nowy wątek
2019-03-05 21:40
0

Czesc,
robie zadanie (obracanie macierzy) algorytm wyglada tak że najpierw robie reverse() na liscie (to działa poprawnie) a potem chce zamienic 0 na 1 i odwrotnie tj 1 na 0 i tu pojawia sie problem.
Jak widac zapisałem v = not(v) gdzie v jest iteratorem (chyba moge tak powiedziec) po r (wierszu).
Problem jest taki że ta zamiana nie działa, dlaczego? Domyslam się że ma to coś wspolnego z tym że korzystam z petli for in. Ale znalazłem takie info: (w pytaniu na temat różnic miedzy poszczególnymi pętlami):

for i in list_name
Above will correspond i to every object in the list,i.e, each iteration will enable you to invoke/interact with methods of a particular object in the list.

i z tego co rozumiem to skoro moge "interact" to chyba modyfikacja też powinna działać? Tym bardziej że 2 linijki wyżej r.reverse() już działa a to tez iterator po liscie.

    def flipAndInvertImage(self, A):
        for r in A:
            r.reverse()
            for v in r:
                v = not(v)
        return A

Z góry dzieki za pomoc

Edit:
tak jak myslalem miało to chyba zwiazek z for in, bo teraz użyłem for in range() i działa poprawnie: (Jednak dalej nie wiem czemu?)

def flipAndInvertImage(self, A):
        for r in range(len(A)):
            A[r].reverse()
            for v in range(len(A[r])):
                A[r][v] = int(not(A[r][v]))
        return A

PS. musiałem jeszcze zrobić zmianę bool -> int bo w sumie nie wiedziałem, że w pythonie mi tego automatycznie nie rzutuje

edytowany 2x, ostatnio: Spejson_, 2019-03-05 21:47
Jakie zadanie? Rozwiązałeś już? - lion137 2019-03-05 21:52
@lion137: https://leetcode.com/problems/flipping-an-image/ tak rozwiązałem bo tym 2 sposobem działa, ale robie sobie łatwe zadanka w pythonie bo chce pocwiczyć i nie rozumiem własnie czemu 1 sposob nie działa. (Domyslam sie ze jest jakas wlasciwosc tego iteratora ale nie wiem) - Spejson_ 2019-03-05 21:57

Pozostało 580 znaków

2019-03-05 22:19
Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0