Featured image of post PyLadies Budapest: Python data structures in practice

PyLadies Budapest: Python data structures in practice

A talk on practical Python data structures — tuples, sets, and the collections module — at PyLadies Budapest.

It’s a genuine pleasure to return as a speaker to the PyLadies Budapest community! It’s always inspiring to meet such an enthusiastic and open audience interested in Python.

I’ll be presenting on October 27th on the topic: “Python data structures in practice.” I’m already thrilled!

What’s really in your Python toolkit? Do you rely on the list for every scenario, or is the dictionary your universal solution? It’s time to expand your repertoire! Join me as we discover the superb, effective data structures (tuple, set, and tricks from the collections module) waiting for us in Python, helping us solve coding challenges even more elegantly. See you there!

PS: participation is FREE, but registration is required! Please note that the presentation will be held in Hungarian.

Update: the topics and the learning material is publicly available in this GitHub repository

Here you find the summary of topics covered (Hungarian):

Adatstruktúrák Pythonban - PyLadies Budapest

Ez az anyag a Python beépített adatstruktúráit mutatja be magyar nyelven, gyakorlati példákkal és feladatokkal.

01 - Listák (list)

A lista a Python egyik legalapvetőbb és legsokoldalúbb adatstruktúrája: rendezett, indexelhető, módosítható gyűjtemény, amely eltérő típusú elemeket is tárolhat.

Témák:

  • Listák inicializálása ([] és list() konstruktor)
  • Elem elérése (indexing), szeletelés (slicing)
  • Lista bejárása (elem-alapú, index-alapú, enumerate)
  • Elemek hozzáadása (append, insert, extend) és módosítása
  • Elemek törlése (del, remove, pop, clear)
  • Tartalmi ellenőrzések (all, any)
  • List comprehensions (szűrés, transzformáció, feltételes értékadás)
  • Listák másolása: shallow copy vs deep copy (mutable vs immutable)
  • Gyakorló feladat: maximumkeresés, típusellenőrzés

02 - Szótárak (dict)

A szótár kulcs-érték párokat tárol, és a Python 3.7-es verziójától megőrzi a beszúrás sorrendjét. Rendkívül gyors kulcs-alapú keresést biztosít.

Témák:

  • Szótárak inicializálása ({} és dict() konstruktor)
  • Elem elérése, hozzáadása, módosítása ([], .get(), .update(), merge operátor |)
  • Hibakezelés hiányzó kulcsoknál (KeyError, defaultdict)
  • Bejárás (kulcsokon, értékeken, kulcs-érték párokon)
  • Törlés (del, .pop())
  • Tartalmi ellenőrzések (in, all, any)
  • Dictionary comprehensions (szűrés, transzformáció, kulcs-érték csere)
  • Gyakorló feladat: előfordulási gyakoriság számítása

03 - Tuple-ök (tuple)

A tuple a lista immutable (módosíthatatlan) változata: rendezett, indexelhető, de a létrehozás után nem változtatható meg. Ideális fix adatrekordok és állandó értékek tárolására.

Témák:

  • Tuple inicializálása (() és tuple() konstruktor, egyetlen elemű tuple)
  • Elem elérése (indexing) és szeletelés (slicing)
  • Másolás és összefűzés
  • Csomagolás (packing) és kicsomagolás (unpacking)
  • Bejárás (iterálás)
  • Tartalmi ellenőrzések (in, .count(), .index())
  • Tuple-ök és generátorok (generator expression vs tuple)
  • Mikor ajánlott / nem ajánlott a tuple használata

04 - Halmazok (set)

A halmaz rendezetlen gyűjtemény, amely csak egyedi, immutable elemeket tárolhat. Fő előnye a rendkívül gyors tartalmazás-vizsgálat és a matematikai halmazműveletek támogatása.

Témák:

  • Set inicializálása ({} és set() konstruktor, duplikátumok automatikus szűrése)
  • Elem hozzáadása (add, update) és törlése (remove, discard, pop, clear)
  • Tartalmazás vizsgálata (in) és sebesség-összehasonlítás listával
  • Halmazműveletek: unió (|), metszet (&), különbség (-), szimmetrikus különbség (^)
  • Részhalmaz, szuperhalmaz és diszjunkt vizsgálat
  • Helyben módosító műveletek (|=, &=, -=)
  • Set comprehensions (halmaz-értelmezés)
  • Frozenset (módosíthatatlan halmaz, szótárkulcsként való használat)
  • Gyakorlati példák: duplikátumok eltávolítása, jogosultság-kezelés, konfigurációellenőrzés
  • Mikor ajánlott / nem ajánlott a set használata
  • Gyakorló feladatok: szerverszoftverek összehasonlítása, egyedi betűk számlálása
Built with Hugo
Theme Stack designed by Jimmy