- Το λεξικό (dictionary) είναι δομή που αποθηκεύει τα δεδομένα σε ζεύγη και όχι σε ακολουθίες.
- Κάθε λεξικό αποτελείται από ζεύγη που ονομάζονται στοιχεία.
- Κάθε στοιχείο αποτελείται από ένα κλειδί και μία τιμή. Το κλειδί αποτελεί το μέσο για να προσπελάσουμε μία τιμή.
- Σε κάθε ζεύγος, το κλειδί χωρίζεται από την τιμή του με μία άνω-κάτω τελεία (:).
- Όλα τα ζεύγη ενός λεξικού τοποθετούνται μέσα σε άγκιστρα {} και χωρίζονται με κόμματα.
Στο παράδειγμα, αποθηκεύουμε σε ένα λεξικό τα αυτοκίνητα κάποιων ατόμων χρησιμοποιώντας τα ονόματα τους σαν κλειδιά και τις μάρκες των αυτοκινήτων τους σαν τιμές.
- Ο απλούστερος τρόπος ανάκτησης μιας τιμής σε ένα λεξικό είναι μέσω του κλειδιού του. Για την ανάκτηση μιας τιμής, γράφουμε το όνομα του λεξικού και το αντίστοιχο κλειδί εντός αγκυλών.
ΠΡΟΣΠΕΛΑΣΗ ΣΤΟΙΧΕΙΟΥ
- Για την ανάκτηση της τιμής ενός στοιχείου, χρησιμοποιούμε το κλειδί του.
- Ωστόσο, το αντίθετο δεν επιτρέπεται. Μια τιμή δεν μπορεί να χρησιμοποιηθεί για να ανακτήσουμε ένα κλειδί μέσα σε ένα λεξικό.
ΕΛΕΓΧΟΣ ΣΤΟΙΧΕΙΟΥ
- Αν χρησιμοποιήσουμε ένα κλειδί που δεν υπάρχει οδηγούμαστε σε λάθος.
- Είναι καλή μέθοδος να ελέγχουμε αν το κλειδί υπάρχει πριν προσπαθήσουμε να ανακτήσουμε την τιμή του.
- Αυτό μπορεί να γίνει με τον τελεστή in. Η συνθήκη είναι True αν το κλειδί υπάρχει και False αν δεν υπάρχει.
ΣΥΝΑΡΤΗΣΗ get()
- Μια άλλη μέθοδος ανάκτησης τιμής, είναι μέσω χρήσης της συνάρτησης get().
- Αυτή η μέθοδος παρέχει ένα δίχτυ ασφαλείας στις περιπτώσεις χρήσης ενός κλειδιού που δεν υπάρχει.
- Στην περίπτωση αυτή, η μέθοδος επιστρέφει μία προεπιλεγμένη τιμή που έχουμε προκαθορίσει.
ΠΡΟΣΘΗΚΗ ΣΤΟΙΧΕΙΟΥ
- Τα λεξικά είναι τύπος ακολουθίας που μπορεί να μεταβάλλεται.
- Για την προσθήκη ενός όρου στο λεξικό, γράφουμε το όνομα του, ακολουθούμενο από το κλειδί εντός αγκυλών, και με τη χρήση του τελεστή εκχώρησης αποδίδουμε την τιμή που θέλουμε.
ΕΠΙΚΑΛΥΨΗ ΤΙΜΗΣ ΣΤΟΙΧΕΙΟΥ
- Αν ο όρος υπάρχει ήδη στο λεξικό, η προηγούμενη εντολή εκχώρησης τον επικαλύπτει.
- Αν θέλουμε να σιγουρευτούμε ότι η προσθήκη που κάνουμε δεν επικαλύπτει κάποιον υπαρκτό όρο του λεξικού, μπορούμε να ελέγξουμε αν ο όρος υπάρχει ήδη με τη χρήση του τελεστή in.
ΔΙΑΓΡΑΦΗ ΣΤΟΙΧΕΙΟΥ
- Για να διαγράψουμε ένα στοιχείο, γράφουμε την εντολή del και ακολούθως το όνομα του λεξικού και το κλειδί του αντίστοιχου όρου εντός αγκυλών.
- Αν ο όρος δεν υπάρχει, το σύστημα επιστρέφει μήνυμα λάθους.
ΜΕΘΟΔΟΙ ΛΕΞΙΚΩΝ
- get(key,[default]) - Επιστρέφει την τιμή του key. Αν αυτό δεν υπάρχει, επιστρέφει την προεπιλεγμένη τιμή default, αν έχει οριστεί, ή την τιμή None αν δεν έχει οριστεί.
- keys() - Επιστρέφει μία σειρά με όλα τα κλειδιά του λεξικού.
- values() - Επιστρέφει μια σειρά με όλες τις τιμές του λεξικού.
- items() - Επιστρέφει μια σειρά με όλα τα στοιχεία του λεξικού.
ΠΑΡΑΔΕΙΓΜΑΤΑ ΜΕ ΜΕΘΟΔΟΥΣ
ΚΑΝΟΝΕΣ ΛΕΞΙΚΩΝ
- Δεν επιτρέπονται πολλά στοιχεία να έχουν το ίδιο κλειδί.
- Κάθε κλειδί πρέπει να είναι αμετάβλητο.
- Οι τιμές δεν χρειάζεται να είναι μοναδικές.
- εν επιτρέπεται η συνένωση λεξικών με τον τελεστή +.
Μακρής Ηλίας Π.Ε. Πληροφορικής