logo

Python | Reiziniet visus skaitļus sarakstā

Dotajā sarakstā izdrukājiet vērtību, kas iegūta pēc visu skaitļu reizināšanas ar a Python sarakstu.

Piemēri:



  Input :    list1 = [1, 2, 3]   Output :   6   Explanation  : 1*2*3=6   Input :   list1 = [3, 2, 4]   Output :   24>

Reiziniet visus skaitļus sarakstā Python

Ir vairākas pieejas reizināšanas veikšanai sarakstā. Šajā kontekstā mēs izmantosim bieži izmantotās metodes, kā reizināt Python, kā aprakstīts tālāk.

  • Izmantojot Traversal
  • Izmantojot numpy.prod()
  • Izmantojot lambda funkciju
  • Izmantojot Matemātikas bibliotēka
  • Izmantojot man ir () funkcija
  • Izmantojot šķērsošanu pēc indeksa
  • Izmantojot Cilpai
  • Izmantojot itertools.accumulate()
  • Rekursīvās funkcijas izmantošana

Reiziniet visus skaitļus sarakstā, izmantojot Šķērsošana

Inicializējiet produkta vērtību uz 1 (nevis 0, jo 0, reizinot ar jebko, atgriež nulli). Pārejiet līdz saraksta beigām, reiziniet katru skaitli ar reizinājumu. Produkta beigās saglabātā vērtība sniegs galīgo atbildi.

Piemērs : Šajā piemērā tālāk esošais kods izmanto šķērsošanas pieeju funkcijā ` reizinātList `, lai aprēķinātu elementu reizinājumu sarakstos “[1, 2, 3]” un “[3, 2, 4]”, iegūstot attiecīgi 6 un 24.



Python






# Python program to multiply all values in the> # list using traversal> def> multiplyList(myList):> ># Multiply elements one by one> >result>=> 1> >for> x>in> myList:> >result>=> result>*> x> >return> result> # Driver code> list1>=> [>1>,>2>,>3>]> list2>=> [>3>,>2>,>4>]> print>(multiplyList(list1))> print>(multiplyList(list2))>

>

>

Izvade:

6 24>

Laika sarežģītība: O(n), kur n ir elementu skaits sarakstā.
Palīgtelpa: O(1),

Reiziniet visus skaitļus sarakstā u ka numpy.prod()

Varam izmantot numpy.prod() no importa numpy, lai iegūtu visu sarakstā esošo skaitļu reizinājumu. Tas atgriež veselu skaitli vai peldošu vērtību atkarībā no reizināšanas rezultāta.

Piemērs : Šajā piemērā tālāk norādītajā kodā tiek izmantots 'numpy.prod()', lai atrastu elementu reizinājumu sarakstos '[1, 2, 3]' un '[3, 2, 4]', kā rezultātā tiek iegūti 6 un 24, attiecīgi.

Python3

0,0625 kā daļu




# Python3 program to multiply all values in the> # list using numpy.prod()> import> numpy> list1>=> [>1>,>2>,>3>]> list2>=> [>3>,>2>,>4>]> # using numpy.prod() to get the multiplications> result1>=> numpy.prod(list1)> result2>=> numpy.prod(list2)> print>(result1)> print>(result2)>

>

>

Izvade:

6 24>

Laika sarežģītība: O(n), kur n ir ievades sarakstu garums.
Palīgtelpa: O(1).

mysql lietotāju saraksts

Reiziniet visus skaitļus sarakstā u dziedāt lambda funkciju

Lambda s definīcija neietver a atgriezties paziņojums, tas vienmēr satur izteiksmi, kas tiek atgriezta. Mēs varam arī ievietot lambda definīciju visur, kur tiek gaidīta funkcija, un mums tā vispār nav jāpiešķir mainīgajam. Tā ir lambda funkciju vienkāršība. The samazināt () funkcija Python izmanto funkciju un sarakstu kā argumentu. Funkciju izsauc ar lambda funkciju un sarakstu un n ew samazināts rezultāts tiek atgriezts . Tādējādi tiek veikta atkārtota darbība saraksta pāriem.

Piemērs : Šajā piemērā tālāk norādītajā kodā tiek izmantota Python funkcija 'functools.reduce' ar funkciju lambda, lai reizinātu visas vērtības sarakstos '[1, 2, 3]' un '[3, 2, 4]'. Rezultāti, 6. un 24., tiek izdrukāti.

Python3




# Python3 program to multiply all values in the> # list using lambda function and reduce()> from> functools>import> reduce> list1>=> [>1>,>2>,>3>]> list2>=> [>3>,>2>,>4>]> result1>=> reduce>((>lambda> x, y: x>*> y), list1)> result2>=> reduce>((>lambda> x, y: x>*> y), list2)> print>(result1)> print>(result2)>

>

>

Izvade:

6 24>

Laika sarežģītība: O(n) – kur n ir garākā saraksta garums.
Palīgtelpa: O(1) – izmantotā atmiņa ir nemainīga, jo netiek veidotas papildu datu struktūras.

Reiziniet visus skaitļus sarakstā u dziediet matemātikas bibliotēkas prod funkciju

Sākot Python 3.8, programmā ir iekļauta prod funkcija matemātikas modulis standarta bibliotēkā, tāpēc nav nepieciešams instalēt ārējās bibliotēkas.

Piemērs : Šajā piemērā tālāk norādītajā kodā tiek izmantota Python funkcija 'math.prod', lai aprēķinātu visu vērtību reizinājumu sarakstos '[1, 2, 3]' un '[3, 2, 4]'. Rezultāti, 6. un 24., tiek izdrukāti.

Python3




# Python3 program to multiply all values in the> # list using math.prod> import> math> list1>=> [>1>,>2>,>3>]> list2>=> [>3>,>2>,>4>]> result1>=> math.prod(list1)> result2>=> math.prod(list2)> print>(result1)> print>(result2)>

>

>

Izvade:

6 24>

Laika sarežģītība : O(n), kur n ir ievades saraksta garums.
Palīgtelpa: O(1)

Reiziniet visus skaitļus sarakstā u sing mul() operatora moduļa funkcija.

Vispirms mums ir jāimportē operatora modulis, pēc tam izmantojot mul() funkcija operatora modulis, reizinot visas sarakstā esošās vērtības. Šajā piemērā tālāk norādītais kods reizina visus skaitļus sarakstā “[1, 2, 3]”, izmantojot moduļa “operators” funkciju “mul”. Tas atkārtojas sarakstā, atjaunina rezultāta mainīgo un izdrukā galaproduktu (izeja: 6).

Python3




# Python 3 program to multiply all numbers in> # the given list by importing operator module> from> operator>import>*> list1>=> [>1>,>2>,>3>]> m>=> 1> for> i>in> list1:> ># multiplying all elements in the given list> ># using mul function of operator module> >m>=> mul(i, m)> # printing the result> print>(m)>

>

>

Izvade:

6>

Laika sarežģītība: O(n), kur n ir ievades saraksta garums. Palīgtelpa: O(1), kas ir nemainīgs.

Reiziniet visus skaitļus sarakstā, izmantojot For Loop

Lai reizinātu visus skaitļus sarakstā, izmantojot a For Loop , varat atkārtot katru saraksta elementu un atjaunināt darbojošos produkta mainīgo.

Piemērs :Šajā piemērāmultiply_list>funkcija izmanto sarakstu kā ievadi un inicializē mainīgoproduct>uz 1. Pēc tam tas atkārto katru saraksta elementu, atjauninot produktu, reizinot to ar pašreizējo elementu.

Python3


java programmas



def> multiply_list(list1):> ># Initialize product to 1> >product>=> 1> > ># Iterate through each element in the list> >for> element>in> list1:> >product>*>=> element> > >return> product> # Example> list1>=> [>1>,>2>,>3>,>4>,>5>]> result>=> multiply_list(list1)> print>(result)>

>

>

Izvade:

120>

Laika sarežģītība : O(n), kur n ir ievades saraksta garums.
Palīgtelpa : O(1).

Reiziniet visus skaitļus sarakstā izmantojot šķērsošanu pēc indeksa

Šajā piemērā tālāk norādītais kods definē funkciju “multiplyList”, lai atrastu saraksta elementu reizinājumu, izmantojot šķērsošanas pieeju. Tas secīgi reizina katru saraksta elementu. Demonstrācijas ar sarakstiem '[1, 2, 3]' un '[3, 2, 4]' dod attiecīgi 6 un 24.

Python3




# Python program to multiply all values in the> # list using traversal> def> multiplyList(myList) :> > ># Multiply elements one by one> >result>=> 1> >for> i>in> range>(>0>,>len>(myList)):> >result>=> result>*> myList[i]> >return> result> > # Driver code> list1>=> [>1>,>2>,>3>]> list2>=> [>3>,>2>,>4>]> print>(multiplyList(list1))> print>(multiplyList(list2))>

>

>

Izvade:

6 24>

Laika sarežģītība : O(n), kur n ir ievades saraksta garums. Palīgtelpa : O(1).

Reiziniet visus skaitļus sarakstā u dziedāt itertools.uzkrāt

The `itertools.uzkrāt Funkcija ` tiek izmantota kumulatīvām darbībām iterējamā. Šajā gadījumā tas uzkrāj sarakstu elementu reizinājumu. Lambda funkcija '(lambda x, y: x * y)' nosaka reizināšanas darbību, un gala rezultāti tiek iegūti no uzkrātajām vērtībām.

Piemērs : Šajā piemērā tālāk norādītajā kodā tiek izmantota funkcija 'itertools.accumulate' ar lambda funkciju, lai reizinātu vērtības sarakstos '[1, 2, 3]' un '[3, 2, 4]'. Uzkrātie rezultāti tiek pārvērsti sarakstos un tiek izdrukāti pēdējie elementi (izejas: 6 un 24).

Python




# Python3 program to multiply all values in the> # list using lambda function and accumulate()> from> itertools>import> accumulate> list1>=> [>1>,>2>,>3>]> list2>=> [>3>,>2>,>4>]> result1>=> list>(accumulate(list1, (>lambda> x, y: x>*> y)))> result2>=> list>(accumulate(list2, (>lambda> x, y: x>*> y)))> print>(result1[>->1>])> print>(result2[>->1>])>

>

mans dzīvais krikets
>

Izvade:

  6     24>

Laika sarežģītība: O(n), kur n ir ievades saraksta garums. Palīgtelpa: O(n)

Reiziniet visus skaitļus sarakstā, izmantojot rekursīvo funkciju

Funkcija produkts_ rekursīvs () izmanto skaitļu sarakstu kā ievadi un atgriež visu sarakstā esošo skaitļu reizinājumu, izmantojot rekursīvo pieeju.

Piemērs : šajā piemērā tālāk norādītais kods definē rekursīvu funkciju “product_recursive”, lai aprēķinātu saraksta elementu reizinājumu. Tas apstrādā pamata un rekursīvos gadījumus, demonstrējot savu funkcionalitāti ar sarakstiem '[1, 2, 3]' un '[3, 2, 4]', kā rezultātā tiek iegūti attiecīgi 6 un 24.

Python3




def> product_recursive(numbers):> ># base case: list is empty> >if> not> numbers:> >return> 1> ># recursive case: multiply first element by product of the rest of the list> >return> numbers[>0>]>*> product_recursive(numbers[>1>:])> list1>=> [>1>,>2>,>3>]> product>=> product_recursive(list1)> print>(product)># Output: 6> list2>=> [>3>,>2>,>4>]> product>=> product_recursive(list2)> print>(product)># Output: 24>

>

>

Izvade:

6 24>

Laika sarežģītība: O(n), kur n ir elementu skaits sarakstā.
Telpas sarežģītība :O(n)

Reiziniet visus sarakstā esošos skaitļus, izmantojot funkciju samazināt() un mul().

Viena no iespējām šīs problēmas risināšanai ir izmantot iebūvēto samazināt () funkciju no functools moduļa, kas var lietot funkciju iterējamam kumulatīvā veidā. Mēs varam izmantot funkciju operator.mul(), lai reizinātu elementus kopā.

Piemērs : Šajā piemērā tālāk norādītais kods izmanto 'functools.reduce' un 'operator.mul', lai reizinātu elementus sarakstā [1, 2, 3], izdrukājot kumulatīvo reizinājumu (izeja: 6). Tas parāda funkcijas 'samazināt' efektivitāti kodolīgām kumulatīvajām darbībām.

Python3




java hasnext

from> functools>import> reduce> from> operator>import> mul> list1>=> [>1>,>2>,>3>]> result>=> reduce>(mul, list1)> print>(result)>

>

>

Izvade:

6>

Laika sarežģītība : O(n)
Palīgtelpa: O(1)