• 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

HackNation - ogólnopolski hackathon
+1 głos
411 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 (256,600 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 (158,940 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ź 994 wizyt
pytanie zadane 8 lutego 2019 w Python przez HelloWorld (: Początkujący (470 p.)
0 głosów
0 odpowiedzi 184 wizyt
0 głosów
2 odpowiedzi 711 wizyt
pytanie zadane 28 grudnia 2016 w Python przez Michał628496 Pasjonat (17,340 p.)

93,628 zapytań

142,551 odpowiedzi

323,052 komentarzy

63,134 pasjonatów

Advent of Code 2025

Top 15 użytkowników

  1. 1936p. - dia-Chann
  2. 1916p. - DziarnowskiJ
  3. 1886p. - Łukasz Piwowar
  4. 1841p. - raydeal
  5. 1840p. - Adrian Wieprzkowicz
  6. 1782p. - rucin93
  7. 1640p. - CC PL
  8. 1616p. - Maurycy W
  9. 1588p. - Tomasz Bielak
  10. 1521p. - Michal Drewniak
  11. 1491p. - Rafał Trójniak
  12. 1471p. - rafalszastok
  13. 1444p. - robwarsz
  14. 1257p. - ssynowiec
  15. 1208p. - Mariusz Fornal
Szczegóły i pełne wyniki

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

Kursy INF.02 i INF.03
...