• 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 VPS - 50% taniej przez 3 miesiące!
+1 głos
318 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,320 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 (156,320 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ź 833 wizyt
pytanie zadane 8 lutego 2019 w Python przez HelloWorld (: Początkujący (470 p.)
0 głosów
0 odpowiedzi 126 wizyt
0 głosów
2 odpowiedzi 614 wizyt
pytanie zadane 28 grudnia 2016 w Python przez Michał628496 Pasjonat (17,340 p.)

93,156 zapytań

142,170 odpowiedzi

321,877 komentarzy

62,486 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 224p. - Marcin Putra
  2. 224p. - nidomika
  3. 223p. - dia-Chann
  4. 221p. - ssynowiec
  5. 217p. - Mikbac
  6. 216p. - CC PL
  7. 215p. - Łukasz Piwowar
  8. 212p. - zmmz89
  9. 210p. - Adrian Wieprzkowicz
  10. 208p. - rafalszastok
  11. 206p. - Michal Drewniak
  12. 204p. - Łukasz Eckert
  13. 202p. - rucin93
  14. 200p. - robwarsz
  15. 198p. - TheLukaszNs
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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...