• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pomoc z uproszczeniem kodu / optymalizacja kodu

Object Storage Arubacloud
+1 głos
275 wizyt
pytanie zadane 29 września 2021 w Python przez Gowi Użytkownik (830 p.)

Cześć,
zastanawiam się czy mogę jakoś jeszcze uprościć kod programu/funkcji do mnożenia macierzy przez liczbę

def mnozenie_macierzy(macierz,liczba):
    for m in macierz:
        for n in m:
            m[n] *= liczba

    print(macierz)

tablica = [[0, 1, 2],
           [0, 1, 2],
           [0, 1, 2]]

a = 5

mnozenie_macierzy(tablica,a)

 

3 odpowiedzi

+2 głosów
odpowiedź 29 września 2021 przez manjaro Nałogowiec (37,390 p.)

Najkrótsza wersja z użyciem numpy

import numpy as np

def mnozenie_macierzy(macierz,liczba):
    print(macierz * liczba)


tablica = np.array(
            [[0, 1, 2],
            [0, 1, 2],
            [0, 1, 2]])
a = 5

mnozenie_macierzy(tablica,a)

 

+1 głos
odpowiedź 29 września 2021 przez VBService Ekspert (252,740 p.)

Jeśli możesz użyć: numpy, to masz zapis  [ on-line ]

import numpy as np

def mnozenie_macierzy(macierz, liczba):
    m = np.matrix(macierz)
    print(m * liczba)

 
tablica = [[0, 1, 2],
           [0, 1, 2],
           [0, 1, 2]]
a = 5
 
mnozenie_macierzy(tablica, a)

lub [ on-line ]

import numpy as np

def mnozenie_macierzy(macierz, liczba):
    print(np.matrix(macierz) * liczba)

 
tablica = [[0, 1, 2],
           [0, 1, 2],
           [0, 1, 2]]
a = 5
 
mnozenie_macierzy(tablica, a)

 

+1 głos
odpowiedź 29 września 2021 przez mokrowski Mędrzec (155,460 p.)

Jeśli bez numpy, to można choćby tak:

#!/usr/bin/env python3

def matrix_mul(matrix, value):
    return [[val * value for val in row] for row in matrix]
 
table = [[0, 1, 2],
           [0, 1, 2],
           [0, 1, 2]]
 
value = 5
 
print(matrix_mul(table, value))

 

Podobne pytania

–1 głos
1 odpowiedź 703 wizyt
pytanie zadane 8 lutego 2019 w Python przez HelloWorld (: Początkujący (470 p.)
0 głosów
0 odpowiedzi 115 wizyt
0 głosów
2 odpowiedzi 489 wizyt
pytanie zadane 28 grudnia 2016 w Python przez Michał628496 Pasjonat (17,340 p.)

92,550 zapytań

141,394 odpowiedzi

319,522 komentarzy

61,935 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...