Tartalomjegyzék
Lista
- Szerző: Sallai András
- Copyright © 2020, Sallai András
- Szerkesztve: 2020, 2022
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Lista létrehozása
Üres lista létrehozása:
lista = []
Lista kezdőértékkel:
lista = ['alma', 'körte', 'barack', 'szilva']
lista = [32, 27, 12, 43, 85]
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 sorunk, rekordunk van, azokat célszerű listában tárolni.
Üres listához, fűzzük a névtelen objektumokat.
- lista.py
class Employee: def __init__(self, name, city): self.name = name self.city = city empList = [] empList.append(Employee('Nagy János', 'Szolnok')) empList.append(Employee('Baros Gábor', 'Szeged')) empList.append(Employee('Teri Géza', 'Miskolc')) for emp in empList: print(emp.name, emp.city, "településen lakik")
A lista kezdő elemeként adjuk meg a névtelen objektumokat:
class Employee: def __init__(self, name, city): self.name = name self.city = city empList = [ Employee("Árpád", "Szeged"), Employee("Tamás", "Szolnok"), Employee("Péter", "Pécs") ] for emp in empList: print(emp.name, emp.city, "településen él")
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 empList: List[Employee] = []
A teljes kód:
- list.py
from typing import List class Employee: def __init__(self, name: str, city: str): self.name = name self.city = city empList: List[Employee] = [] empList.append(Employee("Nagy János", "Szolnok")) empList.append(Employee("Baros Gábor", "Szeged")) empList.append(Employee("Teri Géza", "Miskolc")) for emp in empList: print("Név: " + emp.name + ", Település: " + emp.city)