[[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 =====
Ü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.
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:
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)
===== Forrás =====
* https://docs.python.org/3/tutorial/datastructures.html (2020)