Python 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 Μέθοδοι συμβολοσειρών
