Python len() Funktsioon: kuidas leida stringi pikkust
⚡ Nutikas kokkuvõte
Python len() on sisseehitatud funktsioon, mis tagastab objekti elementide arvu, näiteks stringi tähemärkide arvu või loendi, tuple'i, sõnastiku või hulga elementide arvu.

Mis on Python len() funktsioon?
. len () funktsioon on sisseehitatud funktsioon PythonFunktsiooni len() abil saab leida antud stringi, massiivi, loendi, tuple'i, sõnastiku ja muude objektide pikkuse. Kuna elementide arv salvestatakse objektile, mitte ei arvutata iga kord uuesti, aitab len() teil suurust kiiresti kontrollida ja programmi jõudlust optimeerida.
Süntaks Python len() Funktsioon
. Python Funktsioon len() kasutab järgmist süntaksit:
len(value)
parameetrid
väärtus: Antud objekt – näiteks string, loend, tuple, sõnastik või hulk –, mille pikkust soovite mõõta.
Tagasi väärtus
len() tagastab täisarvu, st märkide arvu stringis või elementide arvu massiivis, loendis või kollektsioonis. Tagastusväärtuse täpne tähendus sõltub edastatud objekti tüübist:
- Stringid: len() tagastab stringis olevate märkide arvu, sealhulgas kirjavahemärgid, tühikud ja kõikvõimalikud erimärgid.
- Tühi: Tühi string või tühi kogum tagastab väärtuse 0, kuna see ei sisalda ühtegi elementi.
- Kollektsioonid: Sisseehitatud len() tagastab kollektsioonis talletatud elementide arvu.
- Tüübiviga: len() sõltub talle edastatud objekti tüübist. Pikkuseta väärtuse, näiteks täisarvu, edastamine tekitab tüübivea (TypeError).
- Sõnastik: Sõnastiku puhul loetakse iga võtme-väärtuse paari üheks ühikuks, seega len() tagastab võtmete arvu.
Näited Python len() Funktsioon
Järgmised näited näitavad, kuidas kasutada funktsiooni len() erinevate pikkuste leidmiseks. Python objektid, sealhulgas string, loend, tuple, sõnastik ja massiiv.
Näide 1: Kuidas leida stringi pikkust
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
Väljund:
The length of the string is : 35
Näide 2: Kuidas leida loendi pikkust
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
Väljund:
The length of the list is 4
Näide 3: Kuidas leida paari pikkust
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
Väljund:
The length of the tuple is 3
Näide 4: Kuidas leida sõnaraamatu pikkust
# 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))
Väljund:
The length of the Dictionary is 4
Näide 5: Kuidas leida massiivi pikkust
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
Väljund:
The length of the Array is 4
Kuidas leida stringi pikkust ilma len() funktsioonita? Python
Funktsioon len() on kiireim ja loetavaim viis stringi mõõtmiseks, aga märke saab lugeda ka käsitsi. See on tavaline kodeerimisintervjuu harjutus ja iga meetod lihtsalt käib stringis ringi, suurendades samal ajal loendurit.
Kõige levinum lähenemisviis kasutab for-tsüklit:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
Väljund:
The length is 6
Lühem valik kasutab sum() funktsiooni generaatori avaldisega, lisades iga stringi tähe kohta 1:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
Väljund:
The length is 6
Muud viisid märkide loendamiseks ilma len() funktsioonita on järgmised:
- While-tsükkel, mis lõikab stringi tühjaks, suurendades iga läbimisega loendurit.
- Funktsioon enumerate(), mis tracks iga märgi indeksit selle iteratsiooni ajal.
- Rekursiivne funktsioon, mis tagastab arvu 1 pluss ülejäänud alamstringi pikkus.
Need käsitsi kasutatavad meetodid on aeglasemad kui sisseehitatud len(), seega tasub neid kasutada õppimiseks või intervjuudeks. Igapäevases koodis on len() kiireim ja selgeim valik.
Kuidas Python Kas len() funktsioon töötab sisemiselt?
Len() toimimise mõistmine selgitab, miks see nii kiire on. Kui kutsute len() funktsiooni objektil, Python ei skaneeri iga elementi ükshaaval. Selle asemel kutsub see esile objektispetsiifilise meetodi __len__(), mis tähendab, et avaldis len(x) on samaväärne avaldisega x.__len__().
Sisseehitatud konteinerid, näiteks stringid, loendid, tuupled, sõnastikud ja hulgad, salvestavad oma suuruse atribuudina. Iga kord, kui elemendi lisate või eemaldate, Python uuendab seda salvestatud arvu. Kui len() kutsutakse, loeb see lihtsalt selle eelsalvestatud väärtuse ja tagastab selle.
Kuna pikkus on juba teada, töötab len() konstantse aja jooksul, mida kirjutatakse kui O(1). See võtab sama palju aega, olenemata sellest, kas objektis on viis või viis miljonit elementi. Samuti saate len() tuge lisada oma klassidele, defineerides meetodi __len__(), mis tagastab täisarvu:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
Väljund:
11
See disain on põhjus, miks len() käitub järjepidevalt iga sisseehitatud tüübi ja ka kõigi kohandatud objektide puhul, mis rakendavad __len__() meetodit.
» Lisateave Python Stringmeetodid
