Μάθετε τη δομή δεδομένων λεξικού Python – Μέρος 3


Σε αυτό το Μέρος 3 της σειράς Python Data Structure, θα συζητήσουμε τι είναι λεξικό, πώς διαφέρει από άλλες δομές δεδομένων στην python, πώς να δημιουργείτε, να διαγράφετε αντικείμενα λεξικού και μεθόδους αντικειμένων λεξικού.

  • Το λεξικό είναι μια ενσωματωμένη υλοποίηση της "Δομή δεδομένων Python", η οποία είναι μια συλλογή ζευγών "Κλειδί: Τιμή".
  • Το λεξικό δημιουργείται χρησιμοποιώντας σγουρά άγκιστρα με κλειδί και τιμή διαχωρισμένα με ερωτηματικό {Key : Value}.
  • Παρόμοια με τη λίστα, τα αντικείμενα λεξικών είναι μεταβλητοί τύποι δεδομένων που σημαίνει ότι τα αντικείμενα μπορούν να τροποποιηθούν μόλις δημιουργηθεί το λεξικό.
  • Η κατασκευή της υλοποίησης λεξικού στην python είναι γενικότερα γνωστή ως «Συσχετικός πίνακας ».
  • Στη λίστα ή πλούρες, μπορούμε να έχουμε πρόσβαση στα στοιχεία αναφέροντας τις θέσεις ευρετηρίου τους, επειδή τα στοιχεία μέσα στη λίστα είναι ταξινομημένα (δηλαδή αποθηκεύονται με τη σειρά που δημιουργήθηκαν). Τα αντικείμενα του λεξικού μπορούν να έχουν οποιαδήποτε σειρά, καθώς η πρόσβαση στα στοιχεία γίνεται χρησιμοποιώντας το συσχετισμένο "Κλειδί ".
  • Τα λεξικά είναι πολύ χρήσιμα όταν πρέπει να αποθηκεύσουμε τα αντικείμενα και να τα αναφέρουμε ονομαστικά.
  • Το αντικείμενο "κλειδί " λεξικού πρέπει να είναι μοναδικός και αμετάβλητος τύπος.
  • Το αντικείμενο "Κλειδί " του λεξικού μπορεί να είναι συμβολοσειρά, ακέραιος ή κυμαινόμενες τιμές.
  • Το λεξικό "Τιμές " μπορεί να είναι οποιουδήποτε τύπου δεδομένων.

Κατασκευάστε αντικείμενο λεξικού

Το αντικείμενο Λεξικό μπορεί να δημιουργηθεί χρησιμοποιώντας σγουρά άγκιστρα με ερωτηματικό διαχωρισμό κλειδιού και ζεύγους τιμών "{Key:value} " ή "dict() " μέθοδος.

Για να το δείξω, πρόκειται να δημιουργήσω ένα λεξικό που θα αποθηκεύει δεδομένα σχετικά με την ομάδα ποδοσφαίρου και την ενδεκάδα που παίζει με θέση κλειδί και παίκτη ονόματα ως τιμές.

Μπορείτε να χρησιμοποιήσετε τη μέθοδο κατασκευής dict() για να δημιουργήσετε ένα αντικείμενο λεξικού.

Πρόσβαση στο αντικείμενο λεξικού

Η πρόσβαση στα στοιχεία λεξικού γίνεται με αναφορές "κλειδί " αντί για ευρετηρίαση. Είναι δυνατή η χρήση ευρετηρίασης εάν έχουμε οποιονδήποτε τύπο δεδομένων ακολουθίας (συμβολοσειρά, λίστα, πλειάδες κ.λπ..) μέσα στο λεξικό.

Μπορείτε να προσπελάσετε τα στοιχεία χρησιμοποιώντας dic_object[“κλειδί”].

Το "Κλειδί Σφάλμα " θα εμφανιστεί εάν προσπαθήσετε να αποκτήσετε πρόσβαση σε στοιχεία λεξικού με ευρετηρίαση ή εάν προσπαθήσετε να αποκτήσετε πρόσβαση σε ένα "κλειδί " που δεν αποτελεί μέρος του λεξικού.

Τροποποίηση και διαγραφή αντικειμένου λεξικού

Μπορείτε να τροποποιήσετε το υπάρχον στοιχείο ή να προσθέσετε ένα νέο στοιχείο κάνοντας απευθείας αναφορά στο κλειδί του Dictionary_object[“key”]=value. Αυτό θα ενημερώσει την τιμή εάν το κλειδί είναι διαθέσιμο, διαφορετικά προσθέστε νέο στοιχείο στο λεξικό.

Διαγράφω

Μπορείτε να διαγράψετε μια συγκεκριμένη τιμή με βάση το κλειδί της ή να διαγράψετε ένα κλειδί ή να διαγράψετε αντικείμενο λεξικού από τον χώρο ονομάτων χρησιμοποιώντας την ενσωματωμένη λέξη-κλειδί «del».

Λεξικές Μέθοδοι

Μπορείτε να χρησιμοποιήσετε την ενσωματωμένη συνάρτηση “dir()” για να αναζητήσετε τις διαθέσιμες μεθόδους και χαρακτηριστικά για το αντικείμενο του λεξικού.

clear() – Αυτή η μέθοδος θα αφαιρέσει όλα τα στοιχεία από το αντικείμενο του λεξικού. Αυτή η μέθοδος δεν δέχεται κανένα επιχείρημα.

Αντιγραφή() – Θα επιστρέψει ένα ρηχό αντίγραφο ενός αντικειμένου λεξικού. Η μέθοδος copy() δεν λαμβάνει καμία παράμετρο ως όρισμα.

Keys() – Αυτή η μέθοδος επιστρέφει το αντικείμενο προβολής για κλειδιά που είναι διαθέσιμα στο λεξικό ως αντικείμενο κλειδιού λεξικού. Αυτή η μέθοδος δεν δέχεται κανένα επιχείρημα.

Τιμές() – Αυτή η μέθοδος επιστρέφει ένα αντικείμενο προβολής για τιμές από το αντικείμενο λεξικού. Αυτή η μέθοδος δεν λαμβάνει κανένα επιχείρημα.

Items() – Αυτή η μέθοδος επιστρέφει ένα ζεύγος tuple(key,value) από το αντικείμενο του λεξικού.

Setdefault() – Αυτή η μέθοδος αναζητά ένα δεδομένο κλειδί σε ένα λεξικό. Εάν το κλειδί δεν βρεθεί στο λεξικό, τότε θα προστεθεί στο λεξικό.
Χρειάζονται 2 ορίσματα dic.setdefault(key,[,προεπιλεγμένη τιμή]).

Η προεπιλεγμένη τιμή ορίζεται σε Καμία εάν δεν έχει καθοριστεί τιμή.

get() – Αυτή η μέθοδος επιστρέφει την τιμή του καθορισμένου κλειδιού εάν το κλειδί είναι διαθέσιμο σε ένα λεξικό.

Syntax dict.get(key[, value]) 

Αυτή η μέθοδος παίρνει 2 ορίσματα. Πρώτον είναι το όρισμα εισόδου που θα αναζητήσει το δεδομένο κλειδί στο λεξικό και θα επιστρέψει την τιμή του κλειδιού. Το δεύτερο όρισμα θα επιστρέψει την τιμή εάν δεν βρεθεί ένα κλειδί. Η προεπιλεγμένη τιμή επιστροφής έχει οριστεί σε "Κανένα".

Ενημέρωση() – Η μέθοδος ενημέρωσης προσθέτει στοιχεία στο λεξικό εάν το κλειδί δεν βρίσκεται στο λεξικό. Εάν βρεθεί το κλειδί, αυτό το κλειδί ενημερώνεται με τη νέα τιμή. Η μέθοδος ενημέρωσης δέχεται είτε άλλο αντικείμενο λεξικού του ζεύγους k: v είτε επαναληπτικό αντικείμενο του ζεύγους k: v σαν ζεύγος πλειάδων.

Αφαίρεση/Διαγραφή αντικειμένου λεξικού

Pop() – Αυτή η μέθοδος αφαιρεί την τιμή με βάση το κλειδί ως είσοδο και επιστρέφει την τιμή που αφαιρέθηκε.

Αυτή η μέθοδος δέχεται δύο παραμέτρους.

  1. Κλειδί – Το κλειδί προς αναζήτηση στο αντικείμενο του λεξικού.
  2. Προεπιλογή – Επιστρεφόμενη τιμή που θα καθοριστεί εάν το κλειδί δεν βρίσκεται στο λεξικό.

ΣΗΜΕΙΩΣΗ Εάν το κλειδί δεν βρεθεί στο λεξικό και αν αποτύχετε να καθορίσετε την προεπιλεγμένη τιμή, τότε θα εμφανιστεί η ένδειξη "KeyError".

Popitem() – Αφαιρεί αυθαίρετα στοιχεία από το αντικείμενο του λεξικού. Κανένα όρισμα δεν γίνεται αποδεκτό και επιστρέφει "Κλειδί Σφάλμα " εάν λέγεται ότι το λεξικό είναι κενό.

Όπως η list και η tuples, μπορούμε να χρησιμοποιήσουμε μια λέξη-κλειδί del για να αφαιρέσουμε τα στοιχεία στο αντικείμενο λεξικού ή να αφαιρέσουμε το αντικείμενο λεξικού από τον χώρο ονομάτων.

Περίληψη

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

Η βέλτιστη περίπτωση χρήσης του λεξικού είναι όταν πρέπει να αποθηκεύσουμε τα δεδομένα με βάση ένα όνομα και να τα αναφέρουμε με το όνομά του. Στο επόμενο άρθρο, θα δούμε έναν άλλο τύπο ενσωματωμένης δομής δεδομένων python «set/Frozenset ». Μέχρι τότε μπορείτε να διαβάσετε περισσότερα για τα λεξικά εδώ.