Raskite sąrašo dydį Python
Sąrašas yra rinkinio duomenų tipas, kuris yra tvarkingas ir keičiamas. Sąraše taip pat gali būti pasikartojančių įrašų. Čia užduotis yra rasti sąraše esančių įrašų skaičių Python .
Pavyzdžiai:
Input: a = [1, 2, 3, 1, 2, 3] Output: 6 Explanation: The output is 6 because the number of entries in the list a is also 6.
Žemiau pateikiami metodai, kuriuos aptarsime šiame straipsnyje:
- Naudojant tik() metodas
- Naudojant suma() funkcija
- Naudojant už kilpą
- Naudojant
length_hint()>metodas
Raskite sąrašo dydį naudodami len() metodą
Len() veikia O(1) laiku, nes sąrašas yra objektas ir turi narį, kuris saugo jo dydį. Žemiau pateikiamas len() aprašymas iš Python dokumentai .
Grąžina objekto ilgį (elementų skaičių). Argumentas gali būti seka (pvz., eilutė, baitai, eilutė, sąrašas arba diapazonas) arba rinkinys (pvz., žodynas, rinkinys arba fiksuotas rinkinys).
Python3
# Python program to demonstrate working of len()> a> => []> a.append(> 'Hello'> )> a.append(> 'Geeks'> )> a.append(> 'For'> )> a.append(> 'Geeks'> )> print> (> 'The length of list is: '> ,> len> (a))> |
Išvestis
The length of list is: 4
Raskite sąrašo ilgį naudodami funkciją sum().
Kitas būdas yra naudoti įmontuotą sum() funkcija kartu su a generatoriaus išraiška. Tai leidžia rasti sąrašo dydį susumavus tam tikrą sąlygą atitinkančių sąrašo elementų skaičių.
Python3
# list of numbers> numbers> => [> 1> ,> 2> ,> 3> ,> 1> ,> 2> ,> 3> ]> # find the size of the list> size> => sum> (> 1> for> num> in> numbers)> # print the size of the list> print> (size)> |
Išvestis
6
Bus išvesta 6, nes sąraše yra 6 elementai.
Laiko sudėtingumas: Metodo, naudojant funkciją sum() ir generatoriaus išraišką, laiko sudėtingumas yra O(n), kur n yra sąrašo ilgis.
Erdvės sudėtingumas: Šio metodo pagalbinės erdvės sudėtingumas yra O(1), nes generatoriaus išraiškai reikia tik vieno kintamojo, kad būtų išsaugotas dabartinis apdorojamas elementas.
Raskite sąrašo ilgį naudodami for ciklus
Tokiu būdu inicijuojame kintamųjų skaičių, tada padidiname kintamąjį per kilpą, o ciklo pabaigoje gauname sąrašo ilgį mūsų skaičiaus kintamajame.
Python3
lst> => [> 1> ,> 1> ,> 2> ,> 5> ,> 1> ,> 5> ,> 2> ,> 4> ,> 5> ]> count> => 0> for> i> in> lst:> > count> +> => 1> print> (> 'The length of the lst is :'> ,count)> |
Išvestis
The length of the lst is : 9
Laiko sudėtingumas: O(n)
Erdvės sudėtingumas: O(1)
Raskite sąrašo dydį naudodami length_hint()> metodas
The length_hint()> funkcija iš operator> modulis sąrašo ilgiui įvertinti. Tačiau atkreipkite dėmesį, kad ši funkcija negarantuoja tikslaus sąrašo dydžio, ypač standartiniams Python sąrašams.
The length_hint()> funkcija pateikia užuominą apie numatomą kartojimo ilgį, tačiau ji gali būti netiksli visų tipų kartojimui. Štai jūsų pavyzdys:
Python3
from> operator> import> length_hint> lst> => [> 'Geeks'> ,> 'For'> ,> 'Geeks'> ]> size> => length_hint(lst)> print> (> 'The size of the size lst:'> ,size)> |
Išvestis
The size of the size lst: 3
Laiko sudėtingumas: O(n)
Erdvės sudėtingumas: O(1)