Sjekk lengden på listen i Python i 3 enkle trinn

I denne artikkelen ser vi hvordan du kan sjekke lengden på en liste i noen av de enkle trinnene og analysere hvilken som er best.

Hva er Python List?

Listen er en matrisesamling i Python som er i stand til å lagre flere datatyper i den. Den kan lagre et heltall, flyt, streng, boolsk eller til og med liste i en liste.

int_list = [1, 2, 3, 4, 5]

print(int_list) # output -> [1, 2, 3, 4, 5]

float_list = [1.1, 2.2, 3.3, 4.4, 5.5]

print(float_list) # output -> [1.1, 2.2, 3.3, 4.4, 5.5]

string_list = ['Geekflare', 'Cloudflare', 'Amazon']

print(string_list) # output -> ['Geekflare', 'Cloudflare', 'Amazon']

boolean_list = [True, False]

print(boolean_list) # output -> [True, False]

nested_list = [[1, 2], [1.1, 2.2], ['Geekflare', 'Cloudflare'], [True, False]]

print(nested_list) # [[1, 2], [1.1, 2.2], ['Geekflare', 'Cloudflare'], [True, False]]

different_datatype_list = [1, 1.1, 'Geekflare', True, [1, 1.1, 'Geekflare', True]]

print(different_datatype_list) # output -> [1, 1.1, 'Geekflare', True, [1, 1.1, 'Geekflare', True]]

Python-lister kan opprettes ved hjelp av en firkantet parentes eller en listekonstruktørfunksjon.

square_bracket_list = [1, 1.1, 'Geekflare', True, [1, 1.1, 'Geekflare', True]]

print(square_bracket_list) # output -> [1, 1.1, 'Geekflare', True, [1, 1.1, 'Geekflare', True]]

constructor_list = list((1, 1.1, 'tipsbilk.net', True, [1, 1.1, 'Geekflare', True]))

print(constructor_list) # output -> [1, 1.1, 'Geekflare', True, [1, 1.1, 'Geekflare', True]]

Square_bracket_list ovenfor er en liste opprettet ved hjelp av firkantparentes([]), constructor_list er en liste opprettet ved hjelp av listekonstruktøren. Begge produserer bare samme listeutgang.

  Komplett veiledning og gratis maler

Listen kan endres, tillate duplikater i den og være tilgjengelig ved å bruke en indeks.

Metoder for å finne listelengde

  • len() innebygd funksjon
  • length_hint-metode fra operatør
  • tilpasset funksjon og teller

Metode 1: len() innebygd funksjon

Len() er en innebygd pythonfunksjon som brukes til å finne lengden på listen og også for andre iterabler som Set, Tuples, Dictionary.

Eksempelutdrag

languages = ['Python', 'Java', 'C++', 'PHP', 'nodeJS']

languages_length = len(languages)

print('Length of the Language List is: ',languages_length)

Produksjon

Length of the Language List is:  5

Jeg håper du har Python installert, hvis ikke, kan du bruke en online Python-kompilator for å øve på koden.

Metode 2: length_hint-metode fra operatør

length_hint brukes til å returnere en lengde på et gjentakbart objekt (som List, Set, Tuples, Dictionary). Den er tilgjengelig inne i python-operatørmodulen. Ikke tilgjengelig som andre innebygde operatører.

Eksempelutdrag

import operator

languages = ['Python', 'Java', 'C++', 'PHP', 'nodeJS']

languages_length = operator.length_hint(languages)

print('Length of the Language List using Operator is: ',languages_length)

Produksjon

Length of the Language List using Operator is:  5

Metode 3: Egendefinert funksjon og teller

I denne metoden for å finne lengden på listen, skal vi bruke den tradisjonelle metoden ved å bruke for-løkke og teller.

  Hvordan lage det virale Spotify-kakediagrammet for å se dine beste musikksjangre, artister

For det skal vi skrive en funksjon i python. som tar en liste eller annen iterabel som argument og returnerer lengden på en iterabel.

Tilpasset funksjonskodebit

def iterable_count(iterable):
  length = 0
  for item in iterable:
    length+=1
  return length

Eksempelutdrag

def iterable_count(iterable):
  length = 0
  for item in iterable:
    length+=1
  return length

languages = ['Python', 'Java', 'C++', 'PHP', 'nodeJS']

languages_length = iterable_count(languages)

print('Length of the Language List using Custom function is: ',languages_length)

Produksjon

Length of the Language List using Custom function is:  5

Analyserer de 3 metodene

Ytelsesanalyse for en stor liste

import timeit # for benchmarking & profiling
import operator

def iterable_count(iterable):
  length = 0
  for item in iterable:
    length+=1
  return length

integer_list = list(range(1, 9999999))

#length check using len()
start_time = timeit.default_timer()
len_length = len(integer_list)
print(timeit.default_timer() - start_time, 'Length of the Integer List using len() is: ',len_length)

#length check using operator.length_hint
start_time = timeit.default_timer()
len_length = operator.length_hint(integer_list)
print(timeit.default_timer() - start_time, 'Length of the Integer List using length_hint is: ',len_length)

start_time = timeit.default_timer()
iterable_count_length = iterable_count(integer_list)
print(timeit.default_timer() - start_time, 'Length of the Integer List using Custom function is: ',iterable_count_length)

Produksjon

3.957189619541168e-06 Length of the Integer List using len() is:  9999998
3.0621886253356934e-06 Length of the Integer List using length_hint is:  9999998
0.4059128537774086 Length of the Integer List using Custom function is:  9999998

Som vi kan se er length_hint raskere(3.0621886253356934e-06) når data er i millioner. Det er fordi lengdehint brukes av CPython runtime. Der det kalles en pytonomslag.

Ytelsesanalyse for en liten liste

import timeit # for benchmarking & profiling
import operator

def iterable_count(iterable):
  length = 0
  for item in iterable:
    length+=1
  return length

integer_list = list(range(1, 100))

#length check using len()
start_time = timeit.default_timer()
len_length = len(integer_list)
print(timeit.default_timer() - start_time, 'Length of the Integer List using len() is: ',len_length)

#length check using operator.length_hint
start_time = timeit.default_timer()
len_length = operator.length_hint(integer_list)
print(timeit.default_timer() - start_time, 'Length of the Integer List using length_hint is: ',len_length)

start_time = timeit.default_timer()
iterable_count_length = iterable_count(integer_list)
print(timeit.default_timer() - start_time, 'Length of the Integer List using Custom function is: ',iterable_count_length)

Produksjon

7.813796401023865e-07 Length of the Integer List using len() is:  99
1.1278316378593445e-06 Length of the Integer List using length_hint is:  99
3.462657332420349e-06 Length of the Integer List using Custom function is:  99

Som vi kan se er len() raskere(7.813796401023865e-07) når data er i tusenvis eller mindre.

  Hvordan koble HomePod til WiFi

I begge tilfeller tar vår egendefinerte funksjon med teller mer tid enn begge metodene.

Konklusjon

I denne artikkelen forstår vi forskjellige måter å sjekke lengden på listen og hvordan de raskt sjekker lengden på listen.

x