Docy

list

Estimated reading: 6 minutes 0 views

Mire használható a list?

A lista (angolul: „list”) egy olyan adattípus, amely egy sorozatot tartalmazó objektumot jelöl. Az egyes elemek a listában indexek segítségével érhetők el, amelyek az első elemetől kezdve sorban növekednek egészen az utolsó elemig. A lista tetszőleges típusú elemeket tartalmazhat, beleértve más listákat, szótárakat, számokat, karakterláncokat és logikai értékeket is.

Példa

A lista Pythonban a szögletes zárójelek között definiálható. Az elemek vesszővel vannak elválasztva, és bármely érvényes Python kifejezést tartalmazhatnak. Például:

				
					my_list = [1, 2, 3, "four", True]

				
			

A fenti példában a my_list nevű változó egy öt elemű listát tartalmaz, amely az egész számokat, karakterláncokat és egy logikai értéket tartalmazza.

A lista elemei elérhetők index segítségével, amelyek az első elemetől kezdődően egész számokkal vannak meghatározva. Például a my_list első eleméhez a következőképpen férhetünk hozzá:

				
					first_element = my_list[0]
				
			

A lista elemek módosíthatók, és új elemeket is hozzáadhatunk a listához az append() metódus segítségével. Például:

				
					my_list.append("new item")
				
			

Ez a kódrészlet hozzáad egy új elemet a listához, amelynek értéke „new item”.

A lista elemeket szintén eltávolíthatjuk a remove() metódus vagy a del kulcsszó használatával. Például:

				
					my_list.remove("four")
del my_list[1]
				
			

Ezek a kódrészletek eltávolítják a listából a „four” elemet, majd a második elemet (a 2-t).

Összetett - Példa

Például az alábbi lista tartalmazza az aktuális kosarat, amely egy webshopban található:

				
					kosar = ["Áfonya", "Kókuszos csokoládé", "Kenyér", "Tej", "Alma"]
				
			

A listában különböző típusú elemek is lehetnek, például számok vagy akár más listák is:

				
					adatok = ["John Doe", 35, "john.doe@example.com", [101, 102, 103]]
				
			

A listák elemei numerikus indexszel érhetők el, amelyek az elemek sorrendjétől függenek. Az indexek nullától kezdődnek, és a lista hosszának egyel kevesebb, mint a lista elemek száma:

				
					kosar = ["Áfonya", "Kókuszos csokoládé", "Kenyér", "Tej", "Alma"]
print(kosar[0]) # kimenet: "Áfonya"
print(kosar[2]) # kimenet: "Kenyér"
print(kosar[-1]) # kimenet: "Alma"
print(len(kosar)) # kimenet: 5
				
			

A listákhoz számos beépített metódus is tartozik, amelyek segítségével könnyen manipulálhatjuk őket. Például, ha hozzá akarunk adni egy új elemet a listához, akkor a append() metódust használhatjuk:

				
					kosar = ["Áfonya", "Kókuszos csokoládé", "Kenyér", "Tej", "Alma"]
kosar.append("Sajt")
print(kosar) # kimenet: ["Áfonya", "Kókuszos csokoládé", "Kenyér", "Tej", "Alma", "Sajt"]
				
			

Ha pedig el akarjuk távolítani az utolsó elemet a listából, akkor a pop() metódust használhatjuk:

				
					kosar = ["Áfonya", "Kókuszos csokoládé", "Kenyér", "Tej", "Alma"]
kosar.pop()
print(kosar) # kimenet: ["Áfonya", "Kókuszos csokoládé", "Kenyér", "Tej"]
				
			

A listák többféle módosítási műveletet is támogatnak, mint például elemek hozzáadása vagy eltávolítása, valamint a lista elemeinek átrendezése vagy másolása. A listák alkalmazása különösen hasznos, amikor egy programnak számos hasonló típusú objektumokat kell kezelnie, mint például adatsorokat, képeket vagy szövegeket.

Komplex feladat

				
					def ibetuk(szoveg):
    db = 0
    for b in szoveg:
        if b == 'i':
            db += 1
    return db

honapok = ['január', 'február', 'március', 'április', 'május', 'június', 'július', 'augusztus', 'szeptember', 'október', 'november', 'december']

max = honapok[0]
for e in honapok:
    if ibetuk(max) < ibetuk(e):
        max = e

print(f'A legtöbb \'i\' betűt tartalmazó hónap: {max}.')
				
			
				
					A legtöbb 'i' betűt tartalmazó hónap: április.
				
			
  1. Definiálunk egy függvényt, ibetuk, amely paraméterként kap egy szöveget (szoveg). Ez a függvény számolja meg, hogy hány ‘i’ betű van a szövegben. Ehhez inicializáljuk a db változót 0-val, majd végigmegyünk a szövegen karakterenként (for b in szoveg). Ha a karakter ‘i’, növeljük a db értékét eggyel.
  2. Változóban (honapok) tároljuk az összes hónap nevét egy listában.
  3. Inicializálunk egy max változót, amelyet az első hónappal (honapok[0]) állítunk be kezdeti értékként.
  4. Végigmegyünk minden hónapon (for e in honapok) és összehasonlítjuk az ‘i’ betűk számát a jelenlegi legtöbb ‘i’-t tartalmazó hónappal (ibetuk(max) < ibetuk(e)). Ha az aktuális hónap több ‘i’-t tartalmaz, mint a jelenlegi legtöbb ‘i’-t tartalmazó hónap, akkor frissítjük a max változót az aktuális hónapra.
  5. Kiíratjuk a legtöbb ‘i’ betűt tartalmazó hónapot a képernyőre.

Buktató, figyelmezetés

  • A kód feltételezi, hogy az ‘i’ betűket kisbetűként írják a hónapokban. Ha nagybetűvel vannak írva, az ‘i’ betűket nem fogja számolni.
  • Az ‘i’ betűk számolásánál a kód nem különbözteti meg az ékezetes és ékezet nélküli ‘i’-ket. Tehát, ha a szövegben van ékezetes ‘í’ karakter, azt is számolja.
  • Az ‘i’ betűk számolása case-sensitive módon történik, tehát kis- és nagybetű ‘i’-k külön-külön számolódnak.
  • Az ‘i’ betűk számolása egyszerű karakterösszehasonlításon alapul. Ezt figyelembe kell venni, ha a szövegben más karakterek is lehetnek, és csak az ‘i’-ket szeretnénk számolni.
  • Az ‘i’ betűk számolása során a kódban nincs figyelembe véve az ‘i’ betűk kontextusa, csak az ‘i’ karakterek előfordulásának száma számít.

Leave a Comment

Megosztom ezt a leírást
Tartalom