Πληροφορική Ι — Εβδομάδα 13

Λεξικά (Dictionaries)

Δημιουργία και πρόσβαση

Λίστα: δείκτες 0,1,2,… → τιμές. Λεξικό: κλειδιά της επιλογής μας → τιμές.

flowchart LR
    k0["'Chris'"] --> w0["'555-1111'"]
    k1["'Kate'"] --> w1["'555-2222'"]

in και get

Τροποποίηση

Επανάληψη & κατανόηση

Εφαρμογή: καταμέτρηση συχνοτήτων

Memoization με λεξικό

Το λεξικό cache θυμάται τα αποτελέσματα — δεν ξαναϋπολογίζονται:

def fib_memo(n, cache={}):
    if n in cache:
        return cache[n]
    result = 1 if n <= 2 else fib_memo(n-1, cache) + fib_memo(n-2, cache)
    cache[n] = result
    return result

Τι κάνει “από μέσα” το lru_cache (Εβδομάδα 9).

Σύνοψη

  • Λεξικά: δημιουργία, πρόσβαση, KeyError, in/get
  • Τροποποίηση: προσθήκη, ενημέρωση, διαγραφή
  • keys()/values()/items(), λεξικά με κατανόηση
  • Καταμέτρηση συχνοτήτων, memoization με λεξικό

⤺ Πλήρεις σημειώσεις  ·  Πρόγραμμα μαθήματος