Σημειώσεις

Προηγούμενο

Επόμενο

Λεξικά

Τα λεξικά είναι μία ακόμα δομή δεδομένων την οποία παρέχει η python. Μπορεί να την φανταστεί κανείς σε αναλογία με τα γνωστά λεξικά, όπου γνωρίζοντας μία λέξη-κλειδί (key) οδηγούμαστε σε μία πληροφορία. Ένας λεξικό αποτελείται από μία σειρά λέξεις-κλειδιά (keys) το καθένα από τα οποία συνδέεται με μία πληροφορία (object). Κάθε εγγραφή στο λεξικό είναι της μορφής


key: object

Ένα λεξικό ορίζεται με τη βοήθεια αγκίστων {}, ανάμεσα στα οποία βάζουμε όλες τις εγγραφές. Μπορούμε να βρούμε μία εγγραφή δίνοντας την αντίστοιχη λέξη-κλειδί σε ορθογώνιες παρενθέσεις.


D = {"Mihalis": 48, "Manolis": 50, "Nikos": 12}
D["Nikos"] += 2
print(D["Nikos"])
print(D)

Μπορούμε να προσθέσουμε εγγραφές στο λεξικό.


>>> D = {"Mihalis": 48, "Manolis": 50, "Nikos": 12}
>>> name = input("Give name: ")
Give name: Yannis
>>> if name not in age: D[name] = 55
>>> print(D)
{'Mihalis': 48, 'Manolis': 50, 'Nikos': 12, 'Yannis': 55}

Μπορούμε να σβήσουμε εγγραφές από το λεξικό.


>>> name = input("Give name: ")
Give name: Nikos
>>> if name in D: del D[name]
>>> print(D)
{'Mihalis': 48, 'Manolis': 50, 'Yannis': 55}

Μπορούμε να διατρέξουμε ένα λεξικό με επανάληψη for.


>>> D = {'Mihalis': 48, 'Manolis': 50, 'Nikos': 12, 'Yannis': 55}
>>> for key in D:
...     print("The age of",key,"is",D[key])
... 
The age of Mihalis is 48
The age of Manolis is 50
The age of Nikos is 12
The age of Yannis is 55

Παρατηρήσεις.

Παράδειγμα.

Δίνεται μία λίστα L. Μετρήστε την συχνότητα κάθε στοιχείου που εμφανίζεται στη λίστα.

Θα κατασκευάσουμε ένα λεξικό D στο οποίο οι λέξεις-κλειδιά θα είναι τα μοναδικά στοιχεία της L. Για κάθε λέξη-κλειδί θα βρούμε πόσες φορές αυτό εμφανίζεται στην L.


L = [1, 1, 2, 3, 2, 1, -1, 5, 5, 10, 1, 2, -1]

D = {}  # Ξεκινάμε ένα λεξικό D (αρχικά κενό).
for key in L:
    if key in D:      # Αν υπάρχει ήδη ως λέξη-κλειδί στο D τότε το έχουμε ξαναδεί
        D[key] += 1   # και έχουμε μια παραπάνω εμφάνιση για το key
    else:
        D[key] = 1    # Είναι η πρώτη φορά που το βλέπουμε.

print(D)              # Τυπώνουμε το λεξικό απλά

for key in D:         # Τυπώνουμε το λεξικό συστηματικά
    print(key,D[key])

Παρατήρηση: Μπορούμε να αναζητήσουμε εγγραφές στο λεξικό με την εντολή if key in D.keys() είτε και με την if key in D.

Συναρτήσεις και μέθοδοι για λεξικά.

Μελέτη

Βιβλιογραφία

  1. Python Dictionary Methods, guru99.
  2. How to Sort Python Dictionaries, Python Central.
  3. Σημειώσεις Μ. Κολουντζάκη.
  4. J.V. Guttag, Υπολογισμοί και προγραμματισμός με την python (Παράγραφος 5.1).
  5. Δημήτριος Καρολίδης, Μαθαίνετε εύκολα python (Παράγραφος 4.3) (Εκδόσεις Καρολίδη, 2016).
  6. Κ. Μαγκούτης, Χ. Νικολάου, Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με Python, (Αποθετήριο "Κάλλιπος", 2016) - Κεφάλαιο 6. Συμβολοσειρές, λίστες, πλειάδες, λεξικά.