Python | Kerro kaikki luettelon luvut
Kun annetaan luettelo, tulosta arvo, joka on saatu kertomalla kaikki a:n luvut Python lista.
Esimerkkejä:
Input : list1 = [1, 2, 3] Output : 6 Explanation : 1*2*3=6 Input : list1 = [3, 2, 4] Output : 24
Kerro kaikki luvut luettelossa Pythonissa
Listan sisällä kertomiseen on useita tapoja. Tässä yhteydessä hyödynnämme yleisesti käytettyjä menetelmiä kertoa Pythonissa, kuten alla on kuvattu.
- Traversalin käyttö
- Käyttämällä numpy.prod()
- Käytä lambda-toimintoa
- Käyttämällä Math kirjasto
- Käyttämällä Minulla on() toiminto
- Käytetään läpikulkua indeksin mukaan
- Käyttämällä Silmukalle
- Käyttämällä itertools.accumulate()
- Rekursiivisen funktion käyttö
Kerro kaikki luettelon luvut käyttämällä Läpikulku
Alusta tuotteen arvo 1:ksi (ei 0, koska 0 kerrottuna millä tahansa palauttaa nollan). Kulje listan loppuun asti, kerro jokainen luku tuotteella. Lopussa tuotteeseen tallennettu arvo antaa sinulle lopullisen vastauksesi.
Esimerkki : Tässä esimerkissä alla oleva koodi käyttää traversal-lähestymistapaa funktiossa ` multiplyList ` laskeaksesi elementtien tulon luetteloissa '[1, 2, 3]' ja '[3, 2, 4]', jolloin tulos on 6 ja 24, vastaavasti.
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))> |
Lähtö:
6 24
Aika monimutkaisuus: O(n), missä n on listan elementtien lukumäärä.
Aputila: O(1),
Kerro kaikki luvut luettelossa u tuo numpy.prod()
Voimme käyttää numpy.prod() importista numpy saadaksesi kaikkien luettelon numeroiden kertolasku. Se palauttaa kokonaisluvun tai kelluvan arvon kertolaskutuloksen mukaan.
Esimerkki: Tässä esimerkissä alla oleva koodi käyttää parametria 'numpy.prod()' luetteloiden '[1, 2, 3]' ja '[3, 2, 4]' elementtien tulon etsimiseen, jolloin tuloksena on 6 ja 24, vastaavasti.
Python 3
# 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)> |
Lähtö:
6 24
Aika monimutkaisuus: O(n), missä n on syöttöluetteloiden pituus.
Aputila: O(1).
Kerro kaikki luvut luettelossa u laulaa lambda-toimintoa
lambda' määritelmä ei sisällä a palata lauseke, se sisältää aina lausekkeen, joka palautetaan. Voimme myös laittaa lambda-määrityksen minne tahansa funktion odotetaan, eikä meidän tarvitse määrittää sitä muuttujaan ollenkaan. Tämä on lambda-toimintojen yksinkertaisuus. The vähentää() Python-funktio ottaa argumenttina funktion ja listan. Funktiota kutsutaan lambda-funktiolla ja listalla ja n:llä ew alennettu tulos palautetaan . Tämä suorittaa toistuvan toiminnon luettelon pareille.
Esimerkki: Tässä esimerkissä alla oleva koodi käyttää Pythonin 'functools.reduce' ja lambda-funktiota kertomaan kaikki arvot luetteloissa '[1, 2, 3]' ja '[3, 2, 4]'. Tulokset, 6 ja 24, painetaan.
Python 3
# 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)> |
Lähtö:
6 24
Aika monimutkaisuus: O(n) – missä n on pidemmän listan pituus.
Aputila: O(1) – käytetty muisti on vakio, koska ylimääräisiä tietorakenteita ei luoda.
Kerro kaikki luvut luettelossa u laula matematiikan kirjaston prod-funktio
Python 3.8:sta alkaen prod-toiminto on sisällytetty siihen matematiikan moduuli vakiokirjastossa, joten ulkoisia kirjastoja ei tarvitse asentaa.
Esimerkki: Tässä esimerkissä alla oleva koodi käyttää Pythonin 'math.prod'-funktiota laskeakseen kaikkien luetteloiden '[1, 2, 3]' ja '[3, 2, 4]' arvojen tulon. Tulokset, 6 ja 24, painetaan.
Python 3
# 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)> |
Lähtö:
6 24
Aika monimutkaisuus : O(n), missä n on syöttöluettelon pituus.
Aputila: O(1)
Kerro kaikki luvut luettelossa u sing mul() -funktio operaattorimoduulista.
Ensin meidän on tuotava operaattorimoduuli ja sitten käytä mul()-funktio operaattorimoduulin kertomalla kaikki luettelon arvot. Tässä esimerkissä alla oleva koodi kertoo kaikki luvut luettelossa [1, 2, 3] käyttämällä 'operaattori'-moduulin 'mul'-funktiota. Se toistaa luetteloa, päivittää tulosmuuttujan ja tulostaa lopputuotteen (tulos: 6).
Python 3
# 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)> |
Lähtö:
6
Aika monimutkaisuus: Päällä), missä n on syöteluettelon pituus. Aputila: O(1), joka on vakio.
Kerro kaikki luettelon luvut käyttämällä For Loop -toimintoa
Voit kertoa kaikki luettelon luvut käyttämällä a Loopille , voit iteroida luettelon jokaisen elementin läpi ja päivittää käynnissä olevan tuotemuuttujan.
Esimerkki : Tässä esimerkissä multiply_list> funktio ottaa syötteeksi listan ja alustaa muuttujan product> 1:ksi. Sen jälkeen se toistuu luettelon jokaisen elementin läpi ja päivittää tuotteen kertomalla sen nykyisellä elementillä
Python 3
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)> |
Lähtö:
120
Aika monimutkaisuus : O(n), missä n on syöttöluettelon pituus.
Aputila : O(1).
Kerro kaikki luettelon luvut käyttämällä läpikulkua indeksin mukaan
Tässä esimerkissä alla oleva koodi määrittelee funktion 'multiplyList', joka löytää luettelon elementtien tulon läpikulkumenetelmällä. Se kertoo peräkkäin jokaisen luettelon elementin. Demonstraatiot listoilla [1, 2, 3] ja [3, 2, 4] antavat tulokseksi 6 ja 24 vastaavasti.
Python 3
# 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))> |
Lähtö:
6 24
Aika monimutkaisuus : O(n), missä n on syöttöluettelon pituus. Aputila : O(1).
Kerro kaikki luvut luettelossa u laulaa itertools.accumulate
The `itertools.accumulate `-funktiota käytetään iteroitavan kumulatiivisiin operaatioihin. Tässä tapauksessa se kerää listan elementtien tulon. Lambda-funktio `(lambda x, y: x * y)` määrittää kertolaskuoperaation, ja lopulliset tulokset saadaan kertyneistä arvoista.
Esimerkki: Tässä esimerkissä alla oleva koodi käyttää 'itertools.accumulate' ja lambda-funktiota arvojen kertomiseen luetteloissa '[1, 2, 3]' ja '[3, 2, 4]'. Kertyneet tulokset muunnetaan listoiksi ja viimeiset elementit tulostetaan (tulosteet: 6 ja 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> ])> |
Lähtö:
6 24
Aika monimutkaisuus: O(n), missä n on syöttöluettelon pituus. Aputila: Päällä)
Kerro kaikki luettelon luvut käyttämällä rekursiivista funktiota
Toiminto tuote_ rekursiivinen() ottaa syötteeksi numeroluettelon ja palauttaa kaikkien luettelon lukujen tulon käyttämällä rekursiivista lähestymistapaa.
Esimerkki : Tässä esimerkissä alla oleva koodi määrittää rekursiivisen funktion 'product_recursive', joka laskee luettelon elementtien tulon. Se käsittelee perus- ja rekursiivisia tapauksia ja osoittaa toimivuutensa luetteloilla '[1, 2, 3]' ja '[3, 2, 4]', jolloin tuloksena on 6 ja 24 vastaavasti.
Python 3
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> |
Lähtö:
6 24
Aika monimutkaisuus: O(n), missä n on listan elementtien lukumäärä.
Avaruuden monimutkaisuus :Päällä)
Kerro kaikki luettelon luvut Reduction()- ja mul()-funktion avulla
Yksi tapa ratkaista tämä ongelma on käyttää sisäänrakennettua vähentää()-funktiota functools-moduulista, joka voi soveltaa funktiota iteroitavaan kumulatiivisesti. Voimme käyttää operaattori.mul()-funktiota elementtien kertomiseen.
Esimerkki: Tässä esimerkissä alla oleva koodi käyttää funktioita 'functools.reduce' ja 'operator.mul' kertomaan luettelon [1, 2, 3] elementit ja tulostamaan kumulatiivisen tuotteen (tulos: 6). Se esittelee 'pienennä'-toiminnon tehokkuutta tiiviissä kumulatiivisissa operaatioissa.
Python 3
from> functools> import> reduce> from> operator> import> mul> list1> => [> 1> ,> 2> ,> 3> ]> result> => reduce> (mul, list1)> print> (result)> |
Lähtö:
6
Aika monimutkaisuus : Päällä)
Aputila: O(1)