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: