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:

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)