for int loop (List) -> nie przypisuje wartosci

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

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