adatszerkezet
Python számos beépített adatszerkezetet kínál, amelyek segítségével hatékonyan tárolhatunk és kezelhetünk adatokat. Az alábbiakban bemutatjuk a leggyakoribb adatszerkezeteket Pythonban, valamint azok használatát példákkal.
A lista egy rendezett, módosítható, és indexelhető gyűjtemény, amely tetszőleges típusú adatokat tárolhat.
# Lista létrehozása
my_list =
# Hozzáadás
my_list.append(6)
# Törlés
my_list.remove(3)
# Lista kiírása
print(my_list) #
A tuple egy rendezett, de nem módosítható adatszerkezet, amely gyorsabb a listánál.
# Tuple létrehozása
my_tuple = (1, 2, 3, 4, 5)
# Tuple kiírása
print(my_tuple) # (1, 2, 3, 4, 5)
# A tuple elemei nem módosíthatók
# my_tuple = 10 # Hiba! 'tuple' object does not support item assignment
A szótár egy kulcs-érték párban tárolt adatszerkezet. Az elemek gyorsan elérhetők kulcs alapján.
# Szótár létrehozása
my_dict = {'apple': 1, 'banana': 2, 'cherry': 3}
# Érték hozzáadása
my_dict = 4
# Érték kiolvasása kulcs alapján
print(my_dict) # 1
# Kulcs törlése
del my_dict
# Szótár kiírása
print(my_dict) # {'apple': 1, 'cherry': 3, 'orange': 4}
A halmaz egy nem rendezett, egyedi elemeket tartalmazó adatszerkezet. A halmazok hasznosak az ismétlődő elemek eltávolítására.
# Halmaz létrehozása
my_set = {1, 2, 3, 4, 5}
# Hozzáadás
my_set.add(6)
# Ismétlődő elem nem kerül hozzáadásra
my_set.add(3)
# Halmaz kiírása
print(my_set) # {1, 2, 3, 4, 5, 6}
# Törlés
my_set.remove(4)
# Halmaz kiírása
print(my_set) # {1, 2, 3, 5, 6}
A queue (sor) egy FIFO (First In, First Out) típusú adatszerkezet, amelyben az elemek a sorrendjükben kerülnek feldolgozásra.
from collections import deque
# Sor létrehozása
queue = deque()
# Elemeink hozzáadása
queue.append(1)
queue.append(2)
queue.append(3)
# Elem eltávolítása
print(queue.popleft()) # 1
# Sor kiírása
print(queue) # deque()
A stack (verem) egy LIFO (Last In, First Out) típusú adatszerkezet, ahol az utolsó elem kerül először feldolgozásra.
# Verem létrehozása
stack =
# Elemeink hozzáadása
stack.append(1)
stack.append(2)
stack.append(3)
# Elem eltávolítása
print(stack.pop()) # 3
# Verem kiírása
print(stack) #
A heap egy speciális, rendezett bináris fa, amelyet gyakran használnak prioritásos sorok implementálására. A Python-ban a heapq
modul biztosítja a heap adatszerkezetet.
import heapq
# Halom létrehozása
heap =
# Elem hozzáadása
heapq.heappush(heap, 3)
heapq.heappush(heap, 1)
heapq.heappush(heap, 2)
# Legkisebb elem eltávolítása
print(heapq.heappop(heap)) # 1
# Halom kiírása
print(heap) #
Mindezek a Python adatszerkezetei alapvetőek és hasznosak különböző típusú problémák megoldására.