Λεξικό σε Python με Σύνταξη & Παράδειγμα
Τι είναι ένα λεξικό σε Python?
A Λεξικό σε Python είναι η μη διατεταγμένη και μεταβλητή συλλογή τιμών δεδομένων που περιέχει ζεύγη κλειδιών-τιμών. Κάθε ζεύγος κλειδιού-τιμής στο λεξικό αντιστοιχίζει το κλειδί στη σχετική τιμή, καθιστώντας το πιο βελτιστοποιημένο. Ένα λεξικό σε python δηλώνεται περικλείοντας μια λίστα ζευγών κλειδιών-τιμών διαχωρισμένων με κόμματα χρησιμοποιώντας σγουρά άγκιστρα ({}). Python Το λεξικό ταξινομείται σε δύο στοιχεία: Κλειδιά και Τιμές.
- Τα κλειδιά θα είναι ένα μόνο στοιχείο
- Οι τιμές μπορεί να είναι μια λίστα ή μια λίστα μέσα σε μια λίστα, αριθμοί κ.λπ.
Σύνταξη για Python Λεξικό
Dict = { ' Tim': 18, xyz,.. }
Το λεξικό παρατίθεται σε σγουρές αγκύλες, μέσα σε αυτές τις σγουρές αγκύλες, δηλώνονται τα κλειδιά και οι τιμές. Κάθε κλειδί διαχωρίζεται από την τιμή του με άνω και κάτω τελεία (:), ενώ τα κόμματα χωρίζουν κάθε στοιχείο.
Ιδιότητες κλειδιών λεξικού
Υπάρχουν δύο σημαντικά σημεία κατά τη χρήση των πλήκτρων λεξικού
- Δεν επιτρέπονται περισσότερες από μία καταχωρίσεις ανά κλειδί (δεν επιτρέπεται διπλό κλειδί)
- Οι τιμές στο λεξικό μπορούν να είναι οποιουδήποτε τύπου, ενώ τα κλειδιά πρέπει να είναι αμετάβλητα όπως οι αριθμοί, πλειάδες
- Τα κλειδιά λεξικού έχουν διάκριση πεζών-κεφαλαίων - Το ίδιο όνομα κλειδιού αλλά με τις διαφορετικές πεζοπορίες αντιμετωπίζονται ως διαφορετικά κλειδιά Python λεξικά.
Python 2 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print (Dict['Tiffany'])
Python 3 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print((Dict['Tiffany']))
- Στον κώδικα, έχουμε το όνομα του λεξικού "Dict"
- Δηλώσαμε το όνομα και την ηλικία του ατόμου στο λεξικό, όπου το όνομα είναι "Κλειδιά" και η ηλικία είναι η "τιμή"
- Τώρα εκτελέστε τον κώδικα
- Ανακτά την ηλικία του tiffany από το λεξικό.
Python Μέθοδοι Λεξικού
Αντιγραφή λεξικού
Μπορείτε επίσης να αντιγράψετε ολόκληρο το λεξικό σε ένα νέο λεξικό. Για παράδειγμα, εδώ έχουμε αντιγράψει το αρχικό μας λεξικό στο νέο όνομα λεξικού «Boys» και «Girls».
Python 2 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
studentX=Boys.copy()
studentY=Girls.copy()
print studentX
print studentY
Python 3 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
studentX=Boys.copy()
studentY=Girls.copy()
print(studentX)
print(studentY)
- Έχουμε το πρωτότυπο λεξικό (Dict) με το όνομα και την ηλικία των αγοριών και των κοριτσιών μαζί
- Αλλά θέλουμε τη λίστα αγοριών ξεχωριστή από τη λίστα κοριτσιών, επομένως ορίσαμε το στοιχείο αγοριών και κοριτσιών σε ένα ξεχωριστό όνομα λεξικού «Boys» και «Girls».
- Τώρα πάλι δημιουργήσαμε το νέο όνομα λεξικού "μαθητής Χ" και "μαθητής Υ", όπου όλα τα κλειδιά και οι τιμές του λεξικού αγοριών αντιγράφονται στον μαθητή Χ και τα κορίτσια θα αντιγραφούν στο μαθητήΥ
- Επομένως, τώρα δεν χρειάζεται να κοιτάξετε ολόκληρη τη λίστα στο κύριο λεξικό (Dict) για να ελέγξετε ποιος είναι αγόρι και ποιο κορίτσι, απλά πρέπει να εκτυπώσετε τον μαθητή Χ εάν θέλετε τη λίστα αγοριών και τον StudentY εάν θέλετε τη λίστα κοριτσιών
- Έτσι, όταν τρέχετε το λεξικό μαθητή X και studentY, θα δώσει όλα τα στοιχεία που υπάρχουν στο λεξικό των "αγοριών" και "κοριτσιών" ξεχωριστά
Ενημέρωση Λεξικού
Μπορείτε επίσης να ενημερώσετε ένα λεξικό προσθέτοντας μια νέα καταχώρηση ή ένα ζεύγος κλειδιού-τιμής σε μια υπάρχουσα καταχώρηση ή διαγράφοντας μια υπάρχουσα καταχώρηση. Εδώ στο παράδειγμα, θα προσθέσουμε ένα άλλο όνομα, "Sarah" στο υπάρχον λεξικό μας.
Python 2 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Dict.update({"Sarah":9})
print Dict
Python 3 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Dict.update({"Sarah":9})
print(Dict)
- Το υπάρχον λεξικό μας «Dict» δεν έχει το όνομα «Sarah».
- Χρησιμοποιούμε τη μέθοδο Dict.update για να προσθέσουμε τη Sarah στο υπάρχον λεξικό μας
- Τώρα εκτελέστε τον κώδικα, προσθέτει τη Sarah στο υπάρχον λεξικό μας
Διαγραφή κλειδιών από το λεξικό
Python Το λεξικό σάς δίνει την ελευθερία να διαγράψετε οποιοδήποτε στοιχείο από τη λίστα λεξικών. Ας υποθέσουμε ότι δεν θέλετε το όνομα Charlie στη λίστα, ώστε να μπορείτε να αφαιρέσετε το βασικό στοιχείο με τον ακόλουθο κώδικα.
Python 2 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
del Dict ['Charlie']
print Dict
Python 3 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
del Dict ['Charlie']
print(Dict)
Όταν εκτελείτε αυτόν τον κώδικα, θα πρέπει να εκτυπώνει τη λίστα λεξικών χωρίς τον Charlie.
- Χρησιμοποιήσαμε τον κωδικό del Dict
- Όταν εκτελείται ο κώδικας, έχει διαγράψει το Charlie από το κύριο λεξικό
Dictionary items() Μέθοδος
Η μέθοδος items() επιστρέφει μια λίστα πολλαπλών ζευγών (Κλειδιά, Τιμή) στο λεξικό.
Python 2 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "Students Name: %s" % Dict.items()
Python 3 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("Students Name: %s" % list(Dict.items()))
- Χρησιμοποιούμε τη μέθοδο code items() για το Dict μας.
- Όταν εκτελέστηκε ο κώδικας, επιστρέφει μια λίστα στοιχείων (κλειδιά και τιμές) από το λεξικό
Ελέγξτε εάν ένα δεδομένο κλειδί υπάρχει ήδη σε ένα λεξικό
Για μια δεδομένη λίστα, μπορείτε επίσης να ελέγξετε εάν το παιδικό μας λεξικό υπάρχει στο κύριο λεξικό ή όχι. Εδώ έχουμε δύο υπολεξικά "Boys" και "Girls", τώρα θέλουμε να ελέγξουμε εάν το λεξικό μας Boys υπάρχει στο κύριο "Dict" μας ή όχι. Για αυτό, χρησιμοποιούμε τη μέθοδο βρόχου for με τη μέθοδο else if.
Python 2 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in Boys.keys():
if key in Dict.keys():
print True
else:
print False
Python 3 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
for key in list(Boys.keys()):
if key in list(Dict.keys()):
print(True)
else:
print(False)
- The forloop in code ελέγχει κάθε κλειδί στο κύριο λεξικό για κλειδιά Boys
- Εάν υπάρχει στο κύριο λεξικό, θα πρέπει να εκτυπωθεί true ή αλλιώς θα πρέπει να εκτυπωθεί false
- Όταν εκτελέσετε τον κώδικα, θα εκτυπώσει το "True" για τρεις φορές, καθώς έχουμε τρία στοιχεία στο λεξικό μας "Boys"
- Υποδηλώνει λοιπόν ότι τα «Boys» υπάρχουν στο κύριο λεξικό μας (Dict)
Ταξινόμηση του Λεξικού
Στο λεξικό, μπορείτε επίσης να ταξινομήσετε τα στοιχεία. Για παράδειγμα, αν θέλουμε να εκτυπώσουμε το όνομα των στοιχείων του λεξικού μας αλφαβητικά, πρέπει να χρησιμοποιήσουμε το for a loop. Θα ταξινομήσει κάθε στοιχείο του λεξικού ανάλογα.
Python 2 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = Dict.keys()
Students.sort()
for S in Students:
print":".join((S,str(Dict[S])))
Python 3 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
Students = list(Dict.keys())
Students.sort()
for S in Students:
print(":".join((S,str(Dict[S]))))
- Δηλώσαμε τη μεταβλητή μαθητές για το λεξικό μας "Dict".
- Στη συνέχεια χρησιμοποιούμε τον κωδικό Students.sort, ο οποίος θα ταξινομήσει το στοιχείο μέσα στο λεξικό μας
- Αλλά για να ταξινομήσουμε κάθε στοιχείο στο λεξικό, εκτελούμε τον βρόχο for δηλώνοντας τη μεταβλητή S
- Τώρα, όταν εκτελούμε τον κώδικα, ο βρόχος for θα καλέσει κάθε στοιχείο από το λεξικό και θα εκτυπώσει τη συμβολοσειρά και την τιμή με μια σειρά
Python Ενσωματωμένες Λειτουργίες λεξικού
Μέθοδος λεξικού len().
Η συνάρτηση len() δίνει τον αριθμό των ζευγών στο λεξικό.
Για παράδειγμα,
Python 2 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "Length : %d" % len (Dict)
Python 3 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("Length : %d" % len (Dict))
Όταν εκτελείται η συνάρτηση len (Dict), δίνει την έξοδο στο "4" καθώς υπάρχουν τέσσερα στοιχεία στο λεξικό μας
Μεταβλητοί τύποι
Python δεν απαιτεί τη ρητή δήλωση του αποθεματικού χώρου μνήμης. γίνεται αυτόματα. Χρησιμοποιούνται οι τιμές εκχώρησης στη μεταβλητή "=" σύμβολο ίσου. Ο κώδικας για τον προσδιορισμό του τύπου της μεταβλητής είναι "%type (Dict)."
Python 2 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "variable Type: %s" %type (Dict)
Python 3 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("variable Type: %s" %type (Dict))
- Χρησιμοποιήστε τον κωδικό %type για να μάθετε τον τύπο της μεταβλητής
- Όταν εκτελέστηκε ο κώδικας, λέει ότι ένας τύπος μεταβλητής είναι λεξικό
Python Μέθοδος λίστας cmp().
Χρησιμοποιείται η μέθοδος σύγκρισης cmp(). Python να συγκρίνουν τιμές και κλειδιά δύο λεξικών. Εάν η μέθοδος επιστρέφει 0 εάν και τα δύο λεξικά είναι ίσα, 1 εάν dic1 > dict2 και -1 εάν dict1 < dict2.
Python 2 Παράδειγμα
Boys = {'Tim': 18,'Charlie':12,'Robert':25}
Girls = {'Tiffany':22}
print cmp(Girls, Boys)
Python 3 Παράδειγμα
cmp is not supported in Python 3
- Έχουμε δύο ονόματα λεξικού, "Boys" και "Girls".
- Όποιο δηλώσετε πρώτο στον κωδικό "cmp(Girls, Boys)" θα θεωρείται ως λεξικό 1. Στην περίπτωσή μας, δηλώσαμε πρώτα το "Girls", επομένως θα θεωρείται ως λεξικό 1 και τα αγόρια ως λεξικό 2
- Όταν εκτελείται ο κώδικας, εκτυπώνεται -1, Υποδεικνύει ότι το λεξικό μας 1 είναι μικρότερο από το λεξικό 2.
Λεξικό Str(dict)
Με τη μέθοδο Str(), μπορείτε να δημιουργήσετε ένα λεξικό σε μια εκτυπώσιμη μορφή συμβολοσειράς.
Python 2 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print "printable string:%s" % str (Dict)
Python 3 Παράδειγμα
Dict = {'Tim': 18,'Charlie':12,'Tiffany':22,'Robert':25}
print("printable string:%s" % str (Dict))
- Χρησιμοποιήστε τον κωδικό % str (Dict)
- Θα επιστρέψει τα στοιχεία του λεξικού σε μια εκτυπώσιμη μορφή συμβολοσειράς
Εδώ είναι η λίστα όλων των Μεθόδων Λεξικού
| Μέθοδος | Περιγραφή | Σύνταξη |
|---|---|---|
| αντίγραφο () | Αντιγράψτε ολόκληρο το λεξικό σε νέο λεξικό | dict.copy() |
| εκσυγχρονίζω() | Ενημερώστε ένα λεξικό προσθέτοντας μια νέα καταχώρηση ή ένα ζεύγος κλειδιού-τιμής σε υπάρχουσα καταχώρηση ή διαγράφοντας μια υπάρχουσα καταχώρηση. | Dict.update([άλλο]) |
| αντικείμενα () | Επιστρέφει μια λίστα με πολλαπλά ζεύγη (Κλειδιά, Τιμή) στο λεξικό. | dictionary.items() |
| είδος() | Μπορείτε να ταξινομήσετε τα στοιχεία | dictionary.sort() |
| Λέν () | Δίνει τον αριθμό των ζευγών στο λεξικό. | len (dict) |
| cmp() | Συγκρίνετε τις τιμές και τα κλειδιά δύο λεξικών | cmp(dict1, dict2) |
| Str() | Δημιουργήστε ένα λεξικό σε μια εκτυπώσιμη μορφή συμβολοσειράς | Str(dict) |
Συγχώνευση Λεξικών
Εδώ θα κατανοήσετε πώς να συγχωνεύσετε δύο δεδομένα λεξικά σε ένα ενιαίο λεξικό.
Έχω δύο λεξικά όπως φαίνεται παρακάτω:
Λεξικό1 : my_dict1
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
Λεξικό 2 : my_dict2
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
Ας συγχωνεύσουμε και τα δύο αυτά λεξικά my_dict1 και my_dict2 και ας δημιουργήσουμε ένα ενιαίο λεξικό με το namemy_dict.
Συγχώνευση δύο λεξικών χρησιμοποιώντας τη μέθοδο update().
Η μέθοδος update() θα μας βοηθήσει να συγχωνεύσουμε ένα λεξικό με ένα άλλο. Στο παράδειγμα, θα ενημερώσουμε το my_dict1 με το my_dict2. Μετά τη χρήση της μεθόδου update(), το my_dict1 θα έχει τα περιεχόμενα του my_dict2 όπως φαίνεται παρακάτω:
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict1.update(my_dict2)
print(my_dict1)
Παραγωγή:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Συγχώνευση λεξικών με χρήση της μεθόδου ** (Από Python 3.5 και μετά)
Το ** ονομάζεται Kwargs in Python, και θα λειτουργήσει με Python έκδοση 3.5+. Χρησιμοποιώντας **, μπορούμε να συγχωνεύσουμε δύο λεξικά και θα επιστρέψει το συγχωνευμένο λεξικό. Η χρήση του ** μπροστά από τη μεταβλητή θα αντικαταστήσει τη μεταβλητή με όλο το περιεχόμενό της.
Ακολουθεί ένα παράδειγμα εργασίας χρήσης του ** για τη συγχώνευση δύο καταλόγων.
my_dict1 = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
my_dict2 = {"firstName" : "Nick", "lastName": "Price"}
my_dict = {**my_dict1, **my_dict2}
print(my_dict)
Παραγωγή:
{'username': 'XYZ', 'email': 'xyz@gmail.com', 'location': 'Mumbai', 'firstName': 'Nick', 'lastName': 'Price'}
Δοκιμή μέλους λεξικού
Μπορείτε να ελέγξετε εάν υπάρχει ένα κλειδί στο παρόν μέσα σε ένα λεξικό ή όχι. Αυτή η δοκιμή μπορεί να πραγματοποιηθεί μόνο στο κλειδί ενός λεξικού και όχι στην τιμή. Η δοκιμή ιδιότητας μέλους γίνεται με τη χρήση του in λέξη-κλειδί. Όταν ελέγχετε το κλειδί στο λεξικό χρησιμοποιώντας το in λέξη-κλειδί, η έκφραση επιστρέφει true αν υπάρχει το κλειδί και false αν όχι.
Ακολουθεί ένα παράδειγμα που δείχνει τη δοκιμή αποστολής μελών σε ένα λεξικό.
my_dict = {"username": "XYZ", "email": "xyz@gmail.com", "location":"Mumbai"}
print("email" in my_dict)
print("location" in my_dict)
print("test" in my_dict)
Παραγωγή:
True True False
Περίληψη
- Τα λεξικά σε μια γλώσσα προγραμματισμού είναι ένας τύπος δομής δεδομένων που χρησιμοποιείται για την αποθήκευση πληροφοριών που συνδέονται με κάποιο τρόπο.
- Python Το λεξικό ορίζεται σε δύο στοιχεία Κλειδιά και Τιμές.
- Τα λεξικά δεν αποθηκεύουν τις πληροφορίες τους με συγκεκριμένη σειρά, επομένως ενδέχεται να μην λάβετε τις πληροφορίες σας με την ίδια σειρά που τις καταχωρίσατε.
- Τα κλειδιά θα είναι ένα μόνο στοιχείο
- Οι τιμές μπορεί να είναι μια λίστα ή μια λίστα μέσα σε μια λίστα, αριθμοί κ.λπ.
- Δεν επιτρέπονται περισσότερες από μία καταχωρίσεις ανά κλειδί (δεν επιτρέπεται διπλό κλειδί)
- Οι τιμές στο λεξικό μπορούν να είναι οποιουδήποτε τύπου, ενώ τα κλειδιά πρέπει να είναι αμετάβλητα όπως αριθμοί, πλειάδες ή συμβολοσειρές.
- Τα κλειδιά λεξικού έχουν διάκριση πεζών-κεφαλαίων - Το ίδιο όνομα κλειδιού αλλά με τις διαφορετικές πεζοπορίες αντιμετωπίζονται ως διαφορετικά κλειδιά Python λεξικά.

