Python len() Συνάρτηση: Πώς να βρείτε το μήκος της συμβολοσειράς

⚡ Έξυπνη Σύνοψη

Python Η len() είναι μια ενσωματωμένη συνάρτηση που επιστρέφει τον αριθμό των στοιχείων σε ένα αντικείμενο, όπως τους χαρακτήρες σε μια συμβολοσειρά ή τα στοιχεία σε μια λίστα, πλειάδα, λεξικό ή σύνολο.

  • 🔢 Σύνταξη: Η len(object) δέχεται ένα μόνο όρισμα και επιστρέφει έναν ακέραιο αριθμό, τον συνολικό αριθμό των στοιχείων που περιέχει.
  • 🔠 Χορδές: Για μια συμβολοσειρά, η συνάρτηση len() μετράει κάθε χαρακτήρα, συμπεριλαμβανομένων των κενών, των ψηφίων και των σημείων στίξης.
  • 📦 Συλλογές: Η len() μετρά το μέγεθος λιστών, πλειάδων, λεξικών, συνόλων και αντικειμένων εύρους με τον ίδιο τρόπο.
  • ⚙️ Απόδοση: Η len() εκτελείται σε σταθερό χρόνο O(1) επειδή Python Αποθηκεύει το μήκος κάθε αντικειμένου ως χαρακτηριστικό.
  • 🚫 Τυπογραφικό λάθος: Η κλήση της len() σε έναν ακέραιο αριθμό ή None προκαλεί ένα TypeError, καθώς αυτοί οι τύποι δεν έχουν μήκος.
  • 🤖 Βοήθεια AI: Οι βοηθοί κωδικοποίησης τεχνητής νοημοσύνης δημιουργούν ελέγχους len() και οι αγωγοί μηχανικής μάθησης χρησιμοποιούν len() για συμπλήρωση και ομαδοποίηση ακολουθιών.

Python Συνάρτηση len().

Ποια είναι η Python Συνάρτηση len();

The Λέν () Η συνάρτηση είναι μια ενσωματωμένη συνάρτηση στο PythonΜπορείτε να χρησιμοποιήσετε τη συνάρτηση len() για να λάβετε το μήκος μιας δεδομένης συμβολοσειράς, πίνακα, λίστας, πλειάδας, λεξικού και άλλων αντικειμένων. Επειδή ο αριθμός των στοιχείων αποθηκεύεται στο αντικείμενο αντί να υπολογίζεται εκ νέου κάθε φορά, η συνάρτηση len() σας βοηθά να ελέγχετε γρήγορα το μέγεθος και να βελτιστοποιείτε την απόδοση του προγράμματός σας.

Σύνταξη του Python Συνάρτηση len().

The Python Η συνάρτηση len() χρησιμοποιεί την ακόλουθη σύνταξη:

len(value)

Παράμετροι

αξία: Το δεδομένο αντικείμενο — όπως μια συμβολοσειρά, μια λίστα, μια πλειάδα, ένα λεξικό ή ένα σύνολο — του οποίου το μήκος θέλετε να μετρήσετε.

επιστροφή Αξία

Η συνάρτηση len() επιστρέφει έναν ακέραιο αριθμό, δηλαδή τον αριθμό των χαρακτήρων σε μια συμβολοσειρά ή τον αριθμό των στοιχείων σε έναν πίνακα, μια λίστα ή μια συλλογή. Η ακριβής σημασία της τιμής που επιστρέφεται εξαρτάται από τον τύπο του αντικειμένου που της διαβιβάζεται:

  • Χορδές: Η len() επιστρέφει τον αριθμό των χαρακτήρων στη συμβολοσειρά, συμπεριλαμβανομένων των σημείων στίξης, των κενών και κάθε είδους ειδικού χαρακτήρα.
  • Αδειάζω: Μια κενή συμβολοσειρά ή μια κενή συλλογή επιστρέφει 0, επειδή δεν περιέχει μηδενικά στοιχεία.
  • Συλλογές: Η ενσωματωμένη συνάρτηση len() επιστρέφει τον αριθμό των στοιχείων που είναι αποθηκευμένα σε μια συλλογή.
  • Τυπογραφικό λάθος: Η συνάρτηση len() εξαρτάται από τον τύπο του αντικειμένου που της διαβιβάζεται. Η διαβίβαση μιας τιμής που δεν έχει μήκος, όπως ένας ακέραιος αριθμός, προκαλεί ένα σφάλμα τύπου (TypeError).
  • Λεξικό: Για ένα λεξικό, κάθε ζεύγος κλειδιού-τιμής μετριέται ως μία μονάδα, επομένως η len() επιστρέφει τον αριθμό των κλειδιών.

Παραδείγματα του Python Συνάρτηση len().

Τα ακόλουθα παραδείγματα δείχνουν πώς να χρησιμοποιήσετε τη συνάρτηση len() για να βρείτε το μήκος διαφορετικών Python αντικείμενα, συμπεριλαμβανομένων μιας συμβολοσειράς, μιας λίστας, μιας πλειάδας, ενός λεξικού και ενός πίνακα.

Παράδειγμα 1: Πώς να βρείτε το μήκος μιας συμβολοσειράς

# testing len() 
str1 = "Welcome to  Guru99 Python Tutorials"
print("The length of the string  is :", len(str1))

Παραγωγή:

The length of the string  is : 35

Παράδειγμα 2: Πώς να βρείτε το μήκος μιας λίστας

# to find the length of the list

list1 = ["Tim","Charlie","Tiffany","Robert"]

print("The length of the list is", len(list1))

Παραγωγή:

The length of the list is 4

Παράδειγμα 3: Πώς να βρείτε το μήκος μιας πλειάδας

# to find the length of the tuple

Tup = ('Jan','feb','march')

print("The length of the tuple is", len(Tup))

Παραγωγή:

The length of the tuple is 3

Παράδειγμα 4: Πώς να βρείτε το μήκος ενός λεξικού

# to find the length of the Dictionary

Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}

print("The length of the Dictionary is", len(Dict))

Παραγωγή:

The length of the Dictionary is 4

Παράδειγμα 5: Πώς να βρείτε το μήκος ενός πίνακα

# to find the length of the array

arr1 = ['Tim','Charlie','Tiffany','Robert']

print("The length of the Array is", len(arr1))

Παραγωγή:

The length of the Array is 4

Πώς να βρείτε το μήκος μιας συμβολοσειράς χωρίς len() στο Python

Η συνάρτηση len() είναι ο ταχύτερος και πιο ευανάγνωστος τρόπος για να μετρήσετε μια συμβολοσειρά, αλλά μπορείτε επίσης να μετρήσετε χαρακτήρες χειροκίνητα. Αυτή είναι μια συνηθισμένη άσκηση συνέντευξης κωδικοποίησης και κάθε μέθοδος απλώς κάνει επανάληψη στη συμβολοσειρά ενώ αυξάνει έναν μετρητή.

Η πιο συνηθισμένη προσέγγιση χρησιμοποιεί έναν βρόχο for:

# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
    count += 1
print("The length is", count)

Παραγωγή:

The length is 6

Μια μικρότερη επιλογή χρησιμοποιεί τη συνάρτηση sum() με μια έκφραση generator, προσθέτοντας 1 για κάθε χαρακτήρα στη συμβολοσειρά:

mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)

Παραγωγή:

The length is 6

Άλλοι τρόποι για να μετρήσετε χαρακτήρες χωρίς len() περιλαμβάνουν τα εξής:

  • Ένας βρόχος while που τεμαχίζει τη συμβολοσειρά μέχρι να αδειάσει, αυξάνοντας έναν μετρητή σε κάθε πέρασμα.
  • Η συνάρτηση enumerate(), η οποία tracks ο δείκτης κάθε χαρακτήρα καθώς αυτός επαναλαμβάνεται.
  • Μια αναδρομική συνάρτηση που επιστρέφει 1 συν το μήκος της υπόλοιπης υποσυμβολοσειράς.

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

Πώς λειτουργεί το Python Συνάρτηση len() Λειτουργεί Εσωτερικά;

Η κατανόηση του τρόπου λειτουργίας της len() εξηγεί γιατί είναι τόσο γρήγορη. Όταν καλείτε τη len() σε ένα αντικείμενο, Python δεν σαρώνει κάθε στοιχείο ένα προς ένα. Αντίθετα, καλεί το αντικείμενο την ειδική μέθοδο __len__(), που σημαίνει ότι η έκφραση len(x) είναι ισοδύναμη με την x.__len__().

Τα ενσωματωμένα κοντέινερ όπως συμβολοσειρές, λίστες, πλειάδες, λεξικά και σύνολα αποθηκεύουν το δικό τους μέγεθος ως χαρακτηριστικό. Κάθε φορά που προσθέτετε ή αφαιρείτε ένα στοιχείο, Python ενημερώνει αυτόν τον αποθηκευμένο αριθμό. Όταν καλείται η len(), απλώς διαβάζει αυτήν την προ-αποθηκευμένη τιμή και την επιστρέφει.

Επειδή το μήκος είναι ήδη γνωστό, η len() εκτελείται σε σταθερό χρόνο, γραμμένο ως O(1). Χρειάζεται ο ίδιος χρόνος είτε το αντικείμενο περιέχει πέντε στοιχεία είτε πέντε εκατομμύρια. Μπορείτε επίσης να προσθέσετε υποστήριξη len() στις δικές σας κλάσεις ορίζοντας μια μέθοδο __len__() που επιστρέφει έναν ακέραιο αριθμό:

class Team:
    def __len__(self):
        return 11

squad = Team()
print(len(squad))

Παραγωγή:

11

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

" Μάθε περισσότερα για Python Μέθοδοι συμβολοσειρών

Συχνές Ερωτήσεις

Ναι. Η συνάρτηση len() μετράει κάθε χαρακτήρα σε μια συμβολοσειρά, συμπεριλαμβανομένων των κενών, των στηλοθετών, των ψηφίων και των σημείων στίξης. Για παράδειγμα, η συνάρτηση len("Guru 99!) επιστρέφει 8, επειδή το κενό και το θαυμαστικό μετρώνται ως ένας χαρακτήρας.

Η συνάρτηση len() επιστρέφει 0 για μια κενή συμβολοσειρά, επειδή δεν περιέχει χαρακτήρες. Η συνάρτηση len() δεν έχει μηδενικό δείκτη. Μετράει στοιχεία ξεκινώντας από το ένα, επομένως η συνάρτηση len(“a”) επιστρέφει 1 και η συνάρτηση len(“”) επιστρέφει 0.

Οι ακέραιοι αριθμοί δεν αποθηκεύουν πολλά στοιχεία, επομένως δεν έχουν μήκος. Η κλήση της len(123) εμφανίζει το μήνυμα "TypeError: object of type 'int' has no len()". Μετατρέψτε πρώτα τον αριθμό με len(str(123)) όταν θέλετε να μετρήσετε τα ψηφία του.

Ναι. Για ένα λεξικό, η len() επιστρέφει τον αριθμό των ζευγών κλειδιού-τιμής, μετρώντας κάθε ζεύγος μία φορά. Για ένα σύνολο, η len() επιστρέφει τον αριθμό των μοναδικών στοιχείων, καθώς ένα σύνολο απορρίπτει αυτόματα διπλότυπες τιμές.

Η len() επιστρέφει τον αριθμό των σημείων κώδικα Unicode σε μια συμβολοσειρά, επομένως τα περισσότερα τονισμένα γράμματα και σύμβολα μετράνε ως ένα. Ωστόσο, ορισμένα emoji και συνδυασμένοι χαρακτήρες χρησιμοποιούν πολλά σημεία κώδικα, επομένως η len() μπορεί να αναφέρει περισσότερα από ένα για αυτά.

Μεταβιβάστε το len ως κλειδί για τη συνάρτηση max(): η συνάρτηση max(words, key=len) επιστρέφει τη μεγαλύτερη συμβολοσειρά στη λίστα. Ομοίως, η συνάρτηση min(words, key=len) επιστρέφει τη μικρότερη. Αυτό αποφεύγει τη σύνταξη ενός χειροκίνητου βρόχου για τη σύγκριση κάθε μήκους.

Οι αγωγοί μηχανικής μάθησης χρησιμοποιούν συνεχώς τη συνάρτηση len() — για να ελέγχουν τα μεγέθη των συνόλων δεδομένων, να επιβεβαιώνουν ότι τα χαρακτηριστικά και οι ετικέτες ταιριάζουν και να μετρούν τα μήκη των ακολουθιών. Τα μοντέλα συχνά συμπληρώνουν ή περικόπτουν το κείμενο σε μια ίση συνάρτηση len(), έτσι ώστε οι ομάδες δεδομένων να έχουν το ίδιο σχήμα.

Ναι. Το GitHub Copilot συμπληρώνει αυτόματα τους ελέγχους len() και τους βρόχους μέτρησης από ένα σύντομο σχόλιο που περιγράφει τον στόχο σας. Οι βοηθοί της Τεχνητής Νοημοσύνης (Agentic AI) προχωρούν ένα βήμα παραπέρα, γράφοντας λογική επικύρωσης μήκους, προσθέτοντας ρήτρες προστασίας από το TypeError και εκτελώντας τις δοκιμές σας για εσάς.

Συνοψίστε αυτήν την ανάρτηση με: