Wpis z mikrobloga

Mam metodę (mnożenie macierzy) która przyjmuje 2 obiekty(macierze). Metoda edytuje drugi z nich(transponuje) a potem wykonuje na nich działania arytmetyczne. W przypadku x*x (mnożenie macierzy przez samą siebie) metoda transponuje nie jeden, ale oba argumenty. Jedyne co udało mi się wymyślić to stworzenie obiektu pomocniczego na którym przeprowadzam transpozycje, a następnie wynik wpisuje do drugiego z nich. Czy można to zrobić jakoś inaczej ?

Trochę kodu

`class Matrix(object):

def init (self, val):

self.val=(val)

return None

def __mul__(self,arg):

temp=arg

temp=Matrix(map(list,[y for y in zip(*temp.val)]))

arg=temp

......

//dalej nudne mnożenie`

#programowanie #python
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Ginden: Żebym mógł w prostej pętli for przemiatać przez rzędy jednej i kolumny drugiej.

Jak poniżej. Jak się nad tym chwilę zastanowiłem, to faktycznie. Można to zmienić tak by nie używać transpozycji.

def
  • Odpowiedz