Ελέγξτε το μήκος της λίστας στην Python σε 3 εύκολα βήματα

Σε αυτό το άρθρο, βλέπουμε πώς μπορείτε να ελέγξετε το μήκος μιας λίστας σε μερικά από τα εύκολα βήματα και ανάλυση ποιο είναι καλύτερο.

Τι είναι η Python List;

Η λίστα είναι μια συλλογή πίνακα στην Python που μπορεί να αποθηκεύσει πολλούς τύπους δεδομένων σε αυτήν. Μπορεί να αποθηκεύσει έναν ακέραιο, float, string, boolean ή ακόμα και λίστα μέσα σε μια λίστα.

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 μπορούν να δημιουργηθούν χρησιμοποιώντας μια αγκύλη ή μια συνάρτηση κατασκευής λίστας.

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

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

Η παραπάνω πλατεία_bracket_list είναι μια λίστα που δημιουργήθηκε χρησιμοποιώντας αγκύλες([]), constructor_list είναι μια λίστα που δημιουργήθηκε με τη χρήση του εργαλείου κατασκευής λίστας. Και τα δύο παράγουν μόνο την ίδια έξοδο λίστας.

  Πώς να δημιουργήσετε λίστες πολλαπλών επιπέδων στα Έγγραφα Google

Η λίστα μπορεί να είναι μεταβλητή, να επιτρέπει διπλότυπα σε αυτήν και να είναι προσβάσιμη χρησιμοποιώντας ένα ευρετήριο.

Μέθοδοι εύρεσης μήκους λίστας

  • ενσωματωμένη συνάρτηση len().
  • μέθοδος length_hint από τον τελεστή
  • προσαρμοσμένη λειτουργία & μετρητής

Μέθοδος 1: ενσωματωμένη συνάρτηση len().

Η len() είναι μια ενσωματωμένη συνάρτηση python που χρησιμοποιείται για την εύρεση του μήκους της λίστας και επίσης για άλλους επαναληπτικούς όπως Set, Tuples, Dictionary.

Παράδειγμα απόσπασμα

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

languages_length = len(languages)

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

Παραγωγή

Length of the Language List is:  5

Ελπίζω να έχετε εγκαταστήσει την Python, εάν όχι, μπορείτε να χρησιμοποιήσετε έναν διαδικτυακό μεταγλωττιστή Python για να εξασκήσετε τον κώδικα.

Μέθοδος 2: μέθοδος length_hint από τον χειριστή

Το length_hint χρησιμοποιείται για την επιστροφή ενός μήκους ενός επαναλαμβανόμενου αντικειμένου (όπως Λίστα, Σύνολο, Πλειάδες, Λεξικό). Είναι διαθέσιμο μέσα στη μονάδα χειριστή python. Δεν διατίθεται όπως άλλοι ενσωματωμένοι χειριστές.

  Τι είναι το Bokeh στη φωτογραφία και πώς το δημιουργείτε;

Παράδειγμα απόσπασμα

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)

Παραγωγή

Length of the Language List using Operator is:  5

Μέθοδος 3: Προσαρμοσμένη λειτουργία & μετρητής

Σε αυτήν τη μέθοδο για να βρούμε το μήκος της Λίστας, θα χρησιμοποιήσουμε την παραδοσιακή μέθοδο χρησιμοποιώντας βρόχο for και μετρητή.

Για αυτό, θα γράψουμε μια συνάρτηση σε python. που παίρνει μια λίστα ή άλλο επαναληπτικό ως όρισμα και επιστρέφει το μήκος ενός επαναληπτικού.

Προσαρμοσμένο απόσπασμα συνάρτησης

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

Παράδειγμα απόσπασμα

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)

Παραγωγή

Length of the Language List using Custom function is:  5

Αναλύοντας αυτές τις 3 μεθόδους

Ανάλυση απόδοσης για μια μεγάλη λίστα

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)

Παραγωγή

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

Όπως μπορούμε να δούμε το length_hint είναι πιο γρήγορο (3.0621886253356934e-06) όταν τα δεδομένα είναι σε εκατομμύρια. Είναι επειδή οι υποδείξεις μήκους χρησιμοποιούνται από το χρόνο εκτέλεσης του CPython. Όπου λέγεται περιτύλιγμα πύθωνα.

  10 Κορυφαία Μαθήματα Microsoft PowerApps για αρχάριους

Ανάλυση απόδοσης για μια μικρή λίστα

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)

Παραγωγή

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

Όπως μπορούμε να δούμε, η len() είναι πιο γρήγορη (7.813796401023865e-07) όταν τα δεδομένα είναι σε χιλιάδες ή λιγότερα.

Και στις δύο περιπτώσεις, η προσαρμοσμένη λειτουργία με μετρητή απαιτεί περισσότερο χρόνο από τις δύο μεθόδους.

συμπέρασμα

Σε αυτό το άρθρο, κατανοούμε διαφορετικούς τρόπους ελέγχου της έκτασης της λίστας και πώς ελέγχουν γρήγορα τη διάρκεια της λίστας.