Cum să multiplicați liste în Python: 7 moduri rapide

Înmulțirea listelor în Python este o operație comună atunci când se efectuează calcule matematice sau se rezolvă probleme de manipulare a datelor. Există mai multe moduri de a realiza această sarcină, în funcție de cerințele dvs. și de bibliotecile pe care le aveți la dispoziție.

Pentru a multiplica listele în Python, puteți utiliza funcțiile pentru bucle, înțelegerea listelor, zip și hărți sau modulul functools încorporat. De asemenea, puteți utiliza funcții dintr-o bibliotecă externă Python, cum ar fi NumPy.

Acest articol vă va arăta mai multe moduri diferite de a multiplica liste, fiecare cu un exemplu de cod și rezultate explicate.

Să începem!

Cuprins

2 tipuri de înmulțire a listelor numerice în Python

Înainte de a aborda metodele specifice, ar trebui să înțelegeți tipul de înmulțire a listei pe care o realizează.

Python are mai multe concepte diferite care se află sub termenul larg al înmulțirii listelor. Aceasta include replicarea listelor sau realizarea produsului cartezian al elementelor dintr-o listă.

Acest articol se concentrează în schimb pe două tipuri de multiplicare aritmetică a elementelor dintr-o listă:

  1. Înmulțirea prin valoare

  2. Înmulțirea în funcție de elemente

Să aruncăm o privire rapidă asupra acestor două concepte.

1. Înmulțirea după valoare

Când aveți o listă de numere întregi, este posibil să doriți să înmulțiți fiecare element cu o anumită valoare. De exemplu, aveți o listă [1, 2, 3] și doriți să înmulțiți fiecare element cu valoarea 3.

Ați putea încerca (incorect) să utilizați operatorul de multiplicare ca în această bucată de cod:

list1 = [1, 2, 3]
result = list1 * 3

S-ar putea să fii surprins că rezultatul este [1, 2, 3, 1, 2, 3, 1, 2, 3]. Aceasta este cunoscută sub numele de replicare a listei .

2. Înmulțirea listelor în funcție de elemente

Să presupunem că aveți două liste: [1, 2, 3] și [4, 5, 6]

Doriți să înmulțiți elementele de la același index din listă pentru a produce [4, 10, 18] ca rezultat.

Dacă încercați să înmulțiți două liste Python împreună folosind operatorul „*”, veți obține o eroare:

TypeError: nu se poate multiplica secvența cu non-int de tipul „list”

Acest lucru se datorează faptului că operatorul de înmulțire nu este proiectat să lucreze cu liste așa cum o face cu numerele întregi sau flotanți. În schimb, înmulțirea listelor necesită o operațiune cunoscută sub numele de înmulțire în funcție de elemente.

Înmulțirea în funcție de elemente îmbină elementele corespunzătoare din două liste și le înmulțește împreună, formând o nouă listă.

Acum că înțelegi aceste două concepte. să lucrăm printr-o serie de tehnici pentru a obține rezultatele corecte.

Cum să utilizați o buclă For la mai multe elemente din listă în Python

Cum să multiplicați liste în Python: 7 moduri rapide

Să presupunem că doriți să înmulțiți elementele listei cu o valoare. Pentru această abordare, puteți itera elementele cu o buclă for și le puteți înmulți pe fiecare cu o a doua valoare.

Iată un exemplu cu o singură listă. Variabila rezultat deține lista de ieșiri.

list1 = [1, 2, 3, 4]
factor = 3
result = []

for element in list1:
    result.append(element * factor)

În acest caz, lista de rezultate va fi [3, 6, 9, 12].

Cum să utilizați listele de înțelegere pentru înmulțire

Listele de înțelegere oferă o modalitate concisă de a efectua tipul numeric de înmulțiri de liste. Obțineți același rezultat ca și folosind o buclă for , dar cu o sintaxă mai compactă.

Iată exemplul anterior folosind înțelegerea listei:

list1 = [1, 2, 3, 4]
factor = 3
result = [element * factor for element in list1]

Acest cod are aceeași ieșire ca înainte: [3, 6, 9, 12].

Cum să utilizați funcția Zip pentru înmulțirea în funcție de elemente

Cum să multiplicați liste în Python: 7 moduri rapide

Dacă aveți două liste de numere întregi, este posibil să doriți să înmulțiți listele în funcție de elemente. Aceasta înseamnă că înmulțiți primul element din prima listă cu primul element din a doua listă și așa mai departe cu elemente în aceeași poziție.

Funcția zip() poate realiza acest lucru atunci când o combinați cu înțelegerea listei.

Funcția combină elementele a două liste de intrare, permițându-vă să treceți peste ele în paralel. Iată un exemplu de utilizare a listelor de aceeași dimensiune:

list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
result = [a * b for a, b in zip(list1, list2)]

În acest caz, variabila rezultat va deține lista rezultată: [4, 10, 18].

Lucrul cu tupluri și constructori

Uneori, este posibil să trebuiască să lucrați cu liste care conțin tupluri, mai degrabă decât cu numere întregi simple.

Pentru a multiplica două liste de tupluri , puteți utiliza o combinație de:

  • funcția zip().

  • constructori de tuplu

  • liste de înțelegeri

Iată un exemplu:

list1 = [(1, 2), (3, 4)]
list2 = [(5, 6), (7, 8)]

result = [tuple(a * b for a, b in zip(t1, t2)) for t1, t2 in zip(list1, list2)]

Acesta este rezultatul: [(5, 12), (21, 32)].

Cum să utilizați o hartă și o funcție Lambda în Python

Cum să multiplicați liste în Python: 7 moduri rapide

Funcția de hartă în Python este o modalitate convenabilă de a aplica o funcție fiecărui element dintr-un iterabil ca o listă.

O funcție lambda în Python este o funcție anonimă mică. Aceasta înseamnă că este o funcție fără nume.

Pentru a înmulți două liste în funcție de elemente, puteți combina funcțiile map și lambda:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x * y, list1, list2))

Variabila rezultat va deține listele multiplicate: [4, 10, 18].

Cum să utilizați modulul operator în Python

Modulul operator oferă o multitudine de funcții utile pentru lucrul cu diferite structuri și tipuri de date.

Funcția operator.mul() poate fi folosită pentru a multiplica liste de numere întregi atunci când o combinați cu funcția de hartă.

import operator

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = list(map(operator.mul, list1, list2))

În acest exemplu, importați modulul operator și utilizați funcția mul() împreună cu funcția încorporată map() din Python pentru a multiplica fiecare element din cele două liste.

Variabila rezultat va deține listele multiplicate: [4, 10, 18].

Biblioteca NumPy: Funcțiile Array și Multiply

Cum să multiplicați liste în Python: 7 moduri rapide

Biblioteca NumPy este o bibliotecă externă puternică în Python, utilizată pe scară largă pentru calculul numeric și lucrul cu matrice. Această bibliotecă este eficientă în special atunci când se ocupă cu matrice mari sau matrice multidimensionale.

Pentru a utiliza NumPy, îl puteți instala folosind pip:

pip install numpy

Pentru a efectua înmulțirea pe elemente în două liste folosind NumPy, urmați acești pași generali:

  1. Convertiți fiecare listă într-o matrice NumPy folosind numpy.array() .

  2. Efectuați înmulțirea folosind funcția de înmulțire NumPy.

  3. Opțional, convertiți rezultatul înapoi într-o listă Python folosind metoda tolist().

Iată un exemplu de cod:

import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]
arr1 = np.array(list1)
arr2 = np.array(list2)

res_arr = np.multiply(arr1, arr2)
result = res_arr.tolist()

Acest lucru va returna același rezultat ca în exemplele anterioare: [4, 10, 18].

Cum să combinați Functools și NumPy în Python

Biblioteca functools conține o funcție reduce care aplică o funcție specifică cumulativ elementelor dintr-o listă, reducând lista la o singură valoare.

Pentru a multiplica două liste folosind funcția reduce() , o puteți combina cu funcția de multiplicare din biblioteca NumPy.

Iată un exemplu:

from functools import reduce
import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = reduce(np.multiply, [list1, list2])

Acest cod importă bibliotecile necesare și folosește funcția reduce() împreună cu numpy.multiply() pentru a efectua înmulțirea în funcție de elemente a celor două liste.

Lucrul cu liste și alte structuri de date în Python

Cele mai multe aspecte ale analizei datelor necesită lucrul cu liste, seturi și alte structuri de date. De exemplu, vă veți folosi cunoștințele atunci când manipulați datele lipsă cu interpolare.

Urmăriți acest videoclip pentru câteva tehnici avansate:

Gânduri finale

Ați învățat diverse metode de înmulțire a listelor aritmetic în Python. Unele folosesc numai module și funcții încorporate, în timp ce altele se bazează pe biblioteci terțe.

Capacitatea de a efectua înmulțirea în funcție de elemente deschide ușa către o multitudine de aplicații. De la analiza datelor la învățarea automată, aceste operațiuni sunt o parte esențială a multor algoritmi și sarcini de calcul.

În timp ce acest articol s-a concentrat pe înmulțire, conceptele pe care le-ați învățat se extind și la alte operații. Adunarea, scăderea și împărțirea în funcție de elemente pot fi, de asemenea, realizate în același mod.

Amintiți-vă, cel mai bun mod de a consolida aceste concepte este prin aplicarea lor - așa că mergeți mai departe, porniți mediul dvs. Python și începeți să experimentați. Indiferent dacă automatizați sarcini, manipulați date sau construiți software complex, aceste tehnici vă vor fi, fără îndoială, utile.

Pythoning fericit!

Leave a Comment

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Cum să salvați și să încărcați un fișier RDS în R

Cum să salvați și să încărcați un fișier RDS în R

Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.

Introducere la filtrarea contextului în LuckyTemplates

Introducere la filtrarea contextului în LuckyTemplates

În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.

Idei de materializare pentru cache-urile de date în DAX Studio

Idei de materializare pentru cache-urile de date în DAX Studio

Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.

Raportare de afaceri folosind LuckyTemplates

Raportare de afaceri folosind LuckyTemplates

Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți