Python len() Funktio: Kuinka löytää merkkijonon pituus
⚡ Älykäs yhteenveto
Python len() on sisäänrakennettu funktio, joka palauttaa objektin alkioiden lukumäärän, kuten merkkijonon merkkien määrän tai listan, tuplen, sanakirjan tai joukon elementtien määrän.

Mikä on Python len()-funktio?
len () funktio on sisäänrakennettu funktio PythonVoit käyttää len()-funktiota tietyn merkkijonon, taulukon, listan, tuplen, sanakirjan ja muiden objektien pituuden selvittämiseen. Koska elementtien lukumäärä tallennetaan objektiin eikä lasketa uudelleen joka kerta, len() auttaa tarkistamaan koon nopeasti ja optimoimaan ohjelmasi suorituskyvyn.
Syntaksi Python len()-funktio
Python len()-funktio käyttää seuraavaa syntaksia:
len(value)
parametrit
arvo: Annettu objekti – kuten merkkijono, lista, tuple, sanakirja tai joukko – jonka pituuden haluat mitata.
Palautusarvo
len() palauttaa kokonaisluvun eli merkkijonon merkkien määrän tai taulukon, listan tai kokoelman elementtien määrän. Paluuarvon tarkka merkitys riippuu sille välitetyn objektin tyypistä:
- Jouset: len() palauttaa merkkijonon merkkien määrän, mukaan lukien välimerkit, välilyönnit ja kaikki erikoismerkit.
- Tyhjä: Tyhjä merkkijono tai tyhjä kokoelma palauttaa arvon 0, koska se sisältää nolla elementtiä.
- kokoelmat: Sisäänrakennettu len()-funktio palauttaa kokoelmaan tallennettujen elementtien määrän.
- Tyyppivirhe: len() riippuu sille annetun objektin tyypistä. Pituuttamattoman arvon, kuten kokonaisluvun, välittäminen aiheuttaa TypeError-virheen.
- Sanakirja: Sanakirjassa jokainen avain-arvo-pari lasketaan yhdeksi yksiköksi, joten len() palauttaa avainten lukumäärän.
Esimerkkejä Python len()-funktio
Seuraavat esimerkit näyttävät, miten len()-funktiota käytetään eri pituuksien löytämiseen Python olioita, mukaan lukien merkkijono, lista, tuple, sanakirja ja taulukko.
Esimerkki 1: Merkkijonon pituuden selvittäminen
# testing len()
str1 = "Welcome to Guru99 Python Tutorials"
print("The length of the string is :", len(str1))
lähtö:
The length of the string is : 35
Esimerkki 2: Listan pituuden selvittäminen
# to find the length of the list
list1 = ["Tim","Charlie","Tiffany","Robert"]
print("The length of the list is", len(list1))
lähtö:
The length of the list is 4
Esimerkki 3: Kuinka löytää tuplen pituus
# to find the length of the tuple
Tup = ('Jan','feb','march')
print("The length of the tuple is", len(Tup))
lähtö:
The length of the tuple is 3
Esimerkki 4: Sanakirjan pituuden selvittäminen
# 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))
lähtö:
The length of the Dictionary is 4
Esimerkki 5: Taulukon pituuden selvittäminen
# to find the length of the array
arr1 = ['Tim','Charlie','Tiffany','Robert']
print("The length of the Array is", len(arr1))
lähtö:
The length of the Array is 4
Kuinka löytää merkkijonon pituus ilman len()-funktiota Python
len()-funktio on nopein ja luettavin tapa mitata merkkijonoa, mutta voit laskea merkkejä myös manuaalisesti. Tämä on yleinen koodaushaastatteluharjoitus, ja jokainen metodi yksinkertaisesti käy läpi merkkijonon samalla kasvattaen laskuria.
Yleisin lähestymistapa käyttää for-silmukkaa:
# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
count += 1
print("The length is", count)
lähtö:
The length is 6
Lyhyempi vaihtoehto käyttää sum()-funktiota generaattorilausekkeen kanssa, lisäämällä 1 jokaista merkkijonon merkkiä kohden:
mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)
lähtö:
The length is 6
Muita tapoja laskea merkkejä ilman len()-funktiota ovat seuraavat:
- While-silmukka, joka viipaloi merkkijonoa, kunnes se tyhjenee, ja kasvattaa laskuria jokaisella läpimenolla.
- enumerate()-funktio, joka tracks jokaisen merkin indeksin sitä iteroidessa.
- Rekursiivinen funktio, joka palauttaa luvun 1 sekä jäljellä olevan osamerkkijonon pituuden.
Nämä manuaaliset metodit ovat hitaampia kuin sisäänrakennettu len(), joten varaa ne oppimiseen tai haastatteluharjoitteluun. Arkipäiväisessä koodissa len() on edelleen nopein ja selkein vaihtoehto.
Miten Python Toimiiko len()-funktio sisäisesti?
Len()-funktion toiminnan ymmärtäminen selittää, miksi se on niin nopea. Kun kutsut len()-funktiota objektille, Python ei skannaa jokaista elementtiä yksi kerrallaan. Sen sijaan se kutsuu oliokohtaista __len__()-metodia, mikä tarkoittaa, että lauseke len(x) on yhtäpitävä funktion x.__len__() kanssa.
Sisäänrakennetut säilöt, kuten merkkijonot, listat, tuplet, sanakirjat ja joukot, tallentavat oman kokonsa attribuuttina. Joka kerta, kun lisäät tai poistat elementin, Python päivittää tämän tallennetun määrän. Kun len()-funktiota kutsutaan, se yksinkertaisesti lukee kyseisen esitallennetun arvon ja palauttaa sen.
Koska pituus on jo tiedossa, len() suoritetaan vakioajassa, joka kirjoitetaan muodossa O(1). Se vie saman ajan riippumatta siitä, sisältääkö objekti viisi alkiota vai viisi miljoonaa. Voit myös lisätä len()-tuen omiin luokkiisi määrittelemällä __len__()-metodin, joka palauttaa kokonaisluvun:
class Team:
def __len__(self):
return 11
squad = Team()
print(len(squad))
lähtö:
11
Tämä rakenne on syy siihen, miksi len() käyttäytyy johdonmukaisesti kaikkien sisäänrakennettujen tyyppien sekä kaikkien __len__()-metodin toteuttavien mukautettujen objektien välillä.
» Lisätietoja Python Merkkijonomenetelmät
