Python len() Funkció: Hogyan találjuk meg a karakterlánc hosszát

⚡ Okos összefoglaló

Python A len() egy beépített függvény, amely visszaadja egy objektum elemeinek számát, például egy karakterlánc karaktereit vagy egy lista, tuple, szótár vagy halmaz elemeit.

  • 🔢 Syntax: A len(object) egyetlen argumentumot fogad el, és egy egész számot ad vissza, amely a benne lévő elemek teljes száma.
  • 🔠 Húrok: Egy karakterlánc esetén a len() minden karaktert megszámol, beleértve a szóközöket, számjegyeket és írásjeleket is.
  • 📦 gyűjtemények: A len() függvény ugyanúgy méri a listák, tuple-k, szótárak, halmazok és range objektumok méretét.
  • 🇧🇷 Teljesítmény: A len() állandó O(1) idő alatt fut, mert Python minden objektumhosszt attribútumként tárol.
  • ???? Típushiba: A len() függvény meghívása egész szám vagy None esetén TypeError hibát okoz, mivel ezeknek a típusoknak nincs hosszúságuk.
  • 🤖 AI segítség: A mesterséges intelligencia által fejlesztett kódolási asszisztensek len() ellenőrzéseket generálnak, a gépi tanulási folyamatok pedig len() segítségével töltik ki és kötegelik a szekvenciákat.

Python len() függvény

Mi a Python len() függvény?

Az len () A függvény egy beépített függvény a PythonA len() függvénnyel lekérdezheted egy adott karakterlánc, tömb, lista, tuple, szótár és más objektumok hosszát. Mivel az elemek száma az objektumon tárolódik, ahelyett, hogy minden alkalommal újraszámolódna, a len() segít gyorsan ellenőrizni a méretet és optimalizálni a program teljesítményét.

A szintaxis Python len() függvény

Az Python A len() függvény a következő szintaxist használja:

len(value)

paraméterek

érték: Az adott objektum – például egy karakterlánc, lista, tuple, szótár vagy halmaz –, amelynek hosszát mérni szeretné.

Visszatérési érték

A len() függvény egy egész számot ad vissza, azaz egy karakterlánc karaktereinek számát, vagy egy tömb, lista vagy gyűjtemény elemeinek számát. A visszatérési érték pontos jelentése az átadott objektum típusától függ:

  • Húrok: A len() függvény visszaadja a karakterláncban lévő karakterek számát, beleértve az írásjeleket, szóközöket és mindenféle speciális karaktert.
  • Üres: Egy üres karakterlánc vagy üres gyűjtemény 0 értéket ad vissza, mivel nulla elemet tartalmaz.
  • gyűjtemények: A beépített len() függvény visszaadja a gyűjteményben tárolt elemek számát.
  • Típushiba: A len() függvény függ az átadott objektum típusától. Egy hosszúság nélküli érték, például egy egész szám átadása TypeError hibát okoz.
  • Szótár: Egy szótár esetében minden kulcs-érték pár egy egységnek számít, így a len() visszaadja a kulcsok számát.

Példák a Python len() függvény

A következő példák bemutatják, hogyan használható a len() függvény különböző elemek hosszának meghatározására. Python objektumok, beleértve egy karakterláncot, egy listát, egy tuple-t, egy szótárat és egy tömböt.

1. példa: Hogyan találjuk meg egy karakterlánc hosszát

# testing len() 
str1 = "Welcome to  Guru99 Python Tutorials"
print("The length of the string  is :", len(str1))

output:

The length of the string  is : 35

2. példa: Hogyan találjuk meg egy lista hosszát

# to find the length of the list

list1 = ["Tim","Charlie","Tiffany","Robert"]

print("The length of the list is", len(list1))

output:

The length of the list is 4

3. példa: Hogyan találjuk meg egy sor hosszát

# to find the length of the tuple

Tup = ('Jan','feb','march')

print("The length of the tuple is", len(Tup))

output:

The length of the tuple is 3

4. példa: Hogyan határozzuk meg egy szótár hosszát

# 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))

output:

The length of the Dictionary is 4

5. példa: Hogyan találjuk meg egy tömb hosszát

# to find the length of the array

arr1 = ['Tim','Charlie','Tiffany','Robert']

print("The length of the Array is", len(arr1))

output:

The length of the Array is 4

Hogyan lehet megkeresni egy karakterlánc hosszát len() nélkül? Python

A len() függvény a leggyorsabb és legolvashatóbb módja egy karakterlánc mérésének, de manuálisan is megszámolhatod a karaktereket. Ez egy gyakori kódolási interjúgyakorlat, és minden metódus egyszerűen végigmegy a karakterláncon, miközben növeli a számláló értékét.

A leggyakoribb megközelítés egy for ciklust használ:

# length of a string without len()
mystr = "Guru99"
count = 0
for char in mystr:
    count += 1
print("The length is", count)

output:

The length is 6

Egy rövidebb opció a sum() függvényt használja egy generátor kifejezéssel, 1-et adva a karakterlánc minden karakteréhez:

mystr = "Guru99"
length = sum(1 for char in mystr)
print("The length is", length)

output:

The length is 6

A len() nélküli karakterszámlálás további módjai a következők:

  • Egy while ciklus, ami addig szeleteli a karakterláncot, amíg az ki nem üresedik, minden menetben növelve egy számláló értékét.
  • Az enumerate() függvény, amely tracks minden karakter indexét iteráció közben.
  • Egy rekurzív függvény, amely 1-et ad vissza, plusz a fennmaradó részkarakterlánc hosszát.

Ezek a manuális metódusok lassabbak, mint a beépített len() függvény, ezért inkább tanulásra vagy interjúgyakorlatokra tartogassuk őket. A mindennapi kódban a len() továbbra is a leggyorsabb és legáttekinthetőbb megoldás.

Hogyan működik a Python A len() függvény belsőleg működik?

A len() működésének megértése megmagyarázza, miért olyan gyors. Amikor egy objektumon meghívod a len() függvényt, Python nem pásztázza át az összes elemet egyesével. Ehelyett meghívja az objektumspecifikus __len__() metódust, ami azt jelenti, hogy a len(x) kifejezés egyenértékű az x.__len__() kifejezéssel.

A beépített konténerek, mint például a karakterláncok, listák, tuple-k, szótárak és halmazok, attribútumként tárolják a saját méretüket. Minden alkalommal, amikor hozzáadunk vagy eltávolítunk egy elemet, Python frissíti ezt a tárolt darabszámot. Amikor a len() függvényt meghívjuk, egyszerűen beolvassa az előre tárolt értéket, és visszaadja azt.

Mivel a hossz már ismert, a len() konstans időben fut, amit O(1)-ként írunk le. Ugyanannyi időt vesz igénybe, függetlenül attól, hogy az objektum öt vagy ötmillió elemet tartalmaz. A len() támogatást saját osztályaidhoz is hozzáadhatod egy __len__() metódus definiálásával, amely egy egész számot ad vissza:

class Team:
    def __len__(self):
        return 11

squad = Team()
print(len(squad))

output:

11

Ez a kialakítás az oka annak, hogy a len() minden beépített típusnál, valamint minden olyan egyéni objektumnál, amely __len__() metódust valósít meg, konzisztensen viselkedik.

" Tudj meg többet Python String módszerek

GYIK

Igen. A len() függvény minden karaktert megszámol egy karakterláncban, beleértve a szóközöket, tabulátorokat, számjegyeket és írásjeleket is. Például a len(“Guru 99!”) 8-at ad vissza, mivel a szóköz és a felkiáltójel egyaránt egy karakternek számít.

A len() függvény 0 értéket ad vissza üres karakterlánc esetén, mivel az nem tartalmaz karaktereket. A len() függvény nem nulla indexű; az elemeket egytől kezdődően számolja, így a len(„a”) 1-et, a len(“”) pedig 0-t ad vissza.

Az egész számok nem tárolnak több elemet, így nincs hosszúságuk. A len(123) függvény meghívása a következő hibát adja: „TypeError: az 'int' típusú objektumnak nincs len()” függvénye. Először konvertáld a számot a len(str(123)) függvénnyel, ha a számjegyeit szeretnéd megszámolni.

Igen. Szótár esetén a len() visszaadja a kulcs-érték párok számát, minden párt egyszer megszámolva. Halmaz esetén a len() visszaadja az egyedi elemek számát, mivel egy halmaz automatikusan elveti a duplikált értékeket.

A len() függvény visszaadja a karakterláncban található Unicode kódpontok számát, így a legtöbb ékezetes betű és szimbólum egynek számít. Egyes emojik és kombinált karakterek azonban több kódpontot is használnak, így a len() egynél többet is tud jelenteni számukra.

Add át a len paramétert kulcsként a max() függvénynek: a max(words, key=len) a lista leghosszabb karakterláncát adja vissza. Hasonlóképpen, a min(words, key=len) a legrövidebbet adja vissza. Ezzel elkerülhető egy manuális ciklus írása a hosszúságok összehasonlításához.

A gépi tanulási folyamatok folyamatosan használják a len() függvényt – az adathalmazok méretének ellenőrzésére, a jellemzők és címkék egyezésének megerősítésére, valamint a sorozatok hosszának mérésére. A modellek gyakran kitöltik vagy csonkolják a szöveget egy egyenlő len() értékre, hogy az adatkötegek azonos alakúak legyenek.

Igen. A GitHub Copilot automatikusan kiegészíti a len() ellenőrzéseket és a ciklusok számlálását egy rövid, a célodat leíró megjegyzésből. Az Agentic AI asszisztensei ennél tovább mennek, hossz-érvényesítési logikát írnak, TypeError elleni védőzáradékokat adnak hozzá, és lefuttatják a teszteket helyetted.

Foglald össze ezt a bejegyzést a következőképpen: