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.

  • 🔢 süntaksit: len(objekt) võtab ühe argumendi ja tagastab täisarvu, st selles sisalduvate elementide koguarvu.
  • 🔠 Stringid: Stringi puhul loendab len() kõik tähemärgid, sealhulgas tühikud, numbrid ja kirjavahemärgid.
  • 📦 Kollektsioonid: len() mõõdab loendite, tuuplite, sõnastike, komplektide ja vahemikuobjektide suurust samamoodi.
  • ⚙️ Performance: len() töötab konstantse O(1) ajaga, sest Python salvestab iga objekti pikkuse atribuudina.
  • 🚫 Tüübiviga: Täisarvu või tüübi „None” korral len() funktsiooni kutsumine tekitab vea „TypeError”, kuna neil tüüpidel pole pikkust.
  • 🤖 AI abi: Tehisintellekti kodeerimisassistendid genereerivad len() kontrolle ja masinõppe torujuhtmed kasutavad len() järjestuste täitmiseks ja partiidena töötlemiseks.

Python len() Funktsioon

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

KKK

Jah. len() loendab stringis kõik tähemärgid, sealhulgas tühikud, tabulaatorid, numbrid ja kirjavahemärgid. Näiteks len(“Guru 99!”) tagastab 8, sest tühik ja hüüumärk loetakse mõlemad üheks märgiks.

len() tagastab tühja stringi korral väärtuse 0, kuna see ei sisalda märke. Funktsioon len() ei ole nullindekseeritud; see loendab elemente alates ühest, seega len(“a”) tagastab 1 ja len(“”) tagastab 0.

Täisarvud ei salvesta mitut elementi, seega neil pole pikkust. Funktsiooni len(123) kutsumine annab vea „TypeError: objekt tüübil 'int' puudub len()”. Kui soovite numbrid kokku lugeda, teisendage arv esmalt funktsiooniga len(str(123)).

Jah. Sõnastiku puhul tagastab len() võtme-väärtuse paaride arvu, lugedes iga paari üks kord. Hulga puhul tagastab len() unikaalsete elementide arvu, kuna hulk eemaldab automaatselt duplikaatväärtused.

len() tagastab stringis olevate Unicode'i koodipunktide arvu, seega enamik täpitähti ja sümboleid loetakse üheks. Mõned emotikonid ja kombineeritud märgid kasutavad aga mitut koodipunkti, seega saab len() nende kohta tagastada rohkem kui ühe.

Edastage funktsioonile max() võtmena len: max(words, key=len) tagastab loendis oleva pikima stringi. Samamoodi tagastab min(words, key=len) lühima. See väldib käsitsi tsükli kirjutamist iga pikkuse võrdlemiseks.

Masinõppe torujuhtmed kasutavad len() funktsiooni pidevalt – andmestike suuruste kontrollimiseks, tunnuste ja siltide sobivuse kinnitamiseks ning järjestuste pikkuste mõõtmiseks. Mudelid täidavad või kärbivad teksti sageli võrdseks len()-ks, et andmepartiid oleksid sama kujuga.

Jah. GitHub Copilot teeb len() kontrollid ja loendab tsükleid automaatselt lühikese kommentaari põhjal, mis kirjeldab teie eesmärki. Agentuuri tehisintellekti assistendid lähevad veelgi kaugemale, kirjutades pikkuse valideerimise loogikat, lisades TypeErrori vastaseid kaitseklausleid ja käivitades teie eest teste.

Võta see postitus kokku järgmiselt: