Ellenőrizze a lista hosszát a Pythonban 3 egyszerű lépésben

Ebben a cikkben megnézzük, hogyan ellenőrizheti a lista hosszát néhány egyszerű lépésben, és elemzi, melyik a jobb.

Mi az a Python lista?

A lista egy Python tömbgyűjtemény, amely többféle adattípus tárolására képes. Egy listán belül egész számot, lebegőpontot, karakterláncot, logikai értéket vagy akár listát is tárolhat.

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]]

A Python listák szögletes zárójel vagy listakonstruktőr függvény segítségével hozhatók létre.

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

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

A fenti square_bracket_list egy lista, amelyet a szögletes zárójel([]), a constructor_list a listakonstruktor segítségével létrehozott lista. Mindkettő csak ugyanazt a lista kimenetet adja.

  Problémákat tapasztal a Paint.net telepítésével? (MEGOLDVA)

A lista változtatható, duplikációkat engedélyezhet benne, és index segítségével is elérhető.

A lista hosszának megtalálásának módszerei

  • len() beépített függvény
  • long_hint metódus az operátortól
  • egyedi funkció és számláló

1. módszer: len() beépített függvény

A len() egy python beépített függvény, amely a lista hosszának meghatározására szolgál, és más iterálható elemekhez is, mint a Set, Tuples, Dictionary.

Példarészlet

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

languages_length = len(languages)

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

Kimenet

Length of the Language List is:  5

Remélem, hogy a Python telepítve van, ha nem, akkor egy online Python fordító segítségével gyakorolhatja a kódot.

2. módszer: long_hint metódus az operátortól

A long_hint egy iterálható objektum hosszának visszaadására szolgál (például Lista, Set, Tuples, Dictionary). A python operátori modulon belül érhető el. Nem elérhető, mint a többi beépített operátor.

Példarészlet

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)

Kimenet

Length of the Language List using Operator is:  5

3. módszer: Egyéni funkció és számláló

Ebben a módszerben a lista hosszának meghatározásához a hagyományos módszert fogjuk használni, for-loop és számláló használatával.

  Mi az a statikus IP-cím és hogyan lehet testreszabni?

Ehhez egy függvényt fogunk írni a pythonban. amely egy listát vagy más iterálható argumentumot vesz fel, és visszaadja az iterálható hosszát.

Egyéni funkciórészlet

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

Példarészlet

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)

Kimenet

Length of the Language List using Custom function is:  5

Elemezve ezt a 3 módszert

Teljesítményelemzés egy nagy listához

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)

Kimenet

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

Amint látjuk, a long_hint gyorsabb (3.0621886253356934e-06), ha az adatok milliókban vannak. Ez azért van, mert a CPython futtatókörnyezete hosszúsági tippeket használ. Ahol python wrappernek hívják.

  Személyes adatok eltávolítása a PowerPoint-prezentációból a megosztás előtt

Teljesítményelemzés egy kis listához

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)

Kimenet

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

Amint látjuk, a len() gyorsabb (7.813796401023865e-07), ha az adatok ezerszámúak vagy kevesebbek.

Mindkét esetben az egyéni függvényünk számlálóval több időt vesz igénybe, mint mindkét módszer.

Következtetés

Ebben a cikkben különböző módszereket ismerünk meg a lista hosszának ellenőrzésére, valamint arra, hogy hogyan ellenőrizhetik gyorsan a lista hosszát.