Verificați lungimea listei în Python în 3 pași simpli

În acest articol, vedem cum să verificați lungimea unei liste în câțiva dintre pașii simpli și analizați care este mai bun.

Ce este Python List?

Lista este o colecție de matrice în Python care este capabilă să stocheze mai multe tipuri de date în ea. Poate stoca un număr întreg, float, șir, boolean sau chiar listă în interiorul unei 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]]

Listele Python pot fi create folosind o paranteză pătrată sau o funcție de constructor de listă.

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, 'tipstrick.ro', True, [1, 1.1, 'Geekflare', True]))

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

Lista de paranteze pătrate de mai sus este o listă creată folosind paranteze pătrate([]), constructor_list este o listă creată folosind constructorul de listă. Ambele produc numai aceeași listă.

Lista poate fi modificată, permite duplicate în ea și poate fi accesibilă folosind un index.

  Cum să partajați biblioteca Vudu

Metode pentru a găsi lungimea listei

  • funcția încorporată len().
  • metoda length_hint de la operator
  • funcție personalizată și contor

Metoda 1: funcția încorporată len().

len() este o funcție încorporată python folosită pentru a găsi lungimea listei și, de asemenea, pentru alte iterabile precum Set, Tuples, Dictionary.

Exemplu de fragment

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

languages_length = len(languages)

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

Ieșire

Length of the Language List is:  5

Sper că aveți instalat Python, dacă nu, puteți utiliza un compilator Python online pentru a practica codul.

Metoda 2: metoda length_hint de la operator

length_hint este folosit pentru a returna o lungime a unui obiect iterabil (cum ar fi Listă, Set, Tuples, Dictionary). Este disponibil în interiorul modulului operator python. Nu este disponibil ca alți operatori încorporați.

Exemplu de fragment

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)

Ieșire

Length of the Language List using Operator is:  5

Metoda 3: Funcție personalizată și contor

În această metodă pentru a găsi lungimea Listei, vom folosi metoda tradițională folosind for-loop și counter.

Pentru asta, vom scrie o funcție în python. care ia ca argument o listă sau un alt iterabil și returnează lungimea unui iterabil.

Fragment de funcție personalizată

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

Exemplu de fragment

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)

Ieșire

Length of the Language List using Custom function is:  5

Analizând acele 3 metode

Analiza performanței pentru o listă mare

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)

Ieșire

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

După cum putem vedea, length_hint este mai rapid (3.0621886253356934e-06) atunci când datele sunt în milioane. Se datorează faptului că indicii de lungime sunt folosite de CPython runtime. Unde se numește un înveliș de piton.

  Cum să restabiliți licențele pe PS5

Analiza performanței pentru o listă mică

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)

Ieșire

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

După cum putem vedea, len() este mai rapid (7.813796401023865e-07) atunci când datele sunt în mii sau mai puțin.

În ambele cazuri, funcția noastră personalizată cu contor durează mai mult decât ambele metode.

Concluzie

În acest articol, înțelegem diferite moduri de a verifica lungimea listei și cum verifică rapid lungimea listei.