• 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

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
+1 głos
146 wizyt
pytanie zadane 29 września 2021 w Python przez Gowi Użytkownik (820 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 (36,890 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 (233,350 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,400 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ź 480 wizyt
pytanie zadane 8 lutego 2019 w Python przez HelloWorld (: Początkujący (470 p.)
0 głosów
0 odpowiedzi 101 wizyt
0 głosów
2 odpowiedzi 373 wizyt
pytanie zadane 28 grudnia 2016 w Python przez Michał628496 Pasjonat (17,340 p.)

91,276 zapytań

139,942 odpowiedzi

315,129 komentarzy

60,722 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...