[[oktatas:programozás:python|< Python]] ====== Lista ====== * **Szerző:** Sallai András * Copyright (c) 2020, Sallai András * Szerkesztve: 2020, 2022 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Lista létrehozása ===== lista = ['alma', 'körte', 'barack', 'szilva'] ===== Metódusok ===== A listák rendelkeznek néhány metódussal: * list.append(x) * Hozzáadás a listához * list.extend(iterable) * Az iterable minden tagját hozzáfűzi a listához * list.insert(i, x) * Egy elem beszúrása adott pozícióba. * list.remove(x) * Az elsőként talál, x-el egyező elem törlése * list.pop([i]) * Vesszük az i-dik elemet, majd töröljük. * list.clear() * Az összes elem törlése a listából. * list.index(x[,start[,end]]) * Adott elem indexét adja vissza. * A start és end paraméterekkel, megadható az vizsgált rész. * list.count(x) * Megszámolja hány ilyen elem van. * list.sort(key=None, reverse=False) * Rendezés. * list.reverse() * Az elemek helyének megfordítása a listában. * list.copy() * Visszatér a lista másolatával. list.sort(key=None, reverse=False) print(list) list.reverse() print(list) A rendezést nem adhatjuk át paraméterként. Ez nem működik: print(list.sort()). Előbb rendezzük a listát, majd kiíratjuk: lista = ['szilva', 'körte', 'barack', 'alma'] lista.sort() print(lista) ===== Osztály listában ===== Gyakran állományból vagy adatbázisból olvasunk adatokat, amelyeket célszerű osztályban tárolni. Ha több ilyen sort, illetve rekordot szeretnénk tárolni listába tehetjük. class Dolgozo: def __init__(self, name, city): self.name = name self.city = city list = [] list.append(Dolgozo('Nagy János', 'Szolnok')) list.append(Dolgozo('Baros Gábor', 'Szeged')) list.append(Dolgozo('Teri Géza', 'Miskolc')) for dolgozo in list: print(dolgozo.name, dolgozo.city) ===== A List osztály használata ===== A List osztály használata megkönnyíti a list használatát. A fejlesztői környezetek ha azt támogatják, a ciklusban, ahol a dolgozo objektum egy tagjára hivatkozunk, a tagot automatikusan felajánlja. Importálni kell a List osztályt, és ezt használni: from typing import List list: List[Dolgozo] = [] from typing import List class Dolgozo: def __init__(self, name, city): self.name = name self.city = city list: List[Dolgozo] = [] list.append(Dolgozo('Nagy János', 'Szolnok')) list.append(Dolgozo('Baros Gábor', 'Szeged')) list.append(Dolgozo('Teri Géza', 'Miskolc')) for dolgozo in list: print(dolgozo.name, dolgozo.city) ===== Forrás ===== * https://docs.python.org/3/tutorial/datastructures.html (2020)