Λεξικό σε Python με Σύνταξη & Παράδειγμα

Τι είναι ένα λεξικό σε Python?

A Λεξικό σε Python είναι η μη διατεταγμένη και μεταβλητή συλλογή τιμών δεδομένων που περιέχει ζεύγη κλειδιών-τιμών. Κάθε ζεύγος κλειδιού-τιμής στο λεξικό αντιστοιχίζει το κλειδί στη σχετική τιμή, καθιστώντας το πιο βελτιστοποιημένο. Ένα λεξικό σε python δηλώνεται περικλείοντας μια λίστα ζευγών κλειδιών-τιμών διαχωρισμένων με κόμματα χρησιμοποιώντας σγουρά άγκιστρα ({}). Python Το λεξικό ταξινομείται σε δύο στοιχεία: Κλειδιά και Τιμές.

  • Τα κλειδιά θα είναι ένα μόνο στοιχείο
  • Οι τιμές μπορεί να είναι μια λίστα ή μια λίστα μέσα σε μια λίστα, αριθμοί κ.λπ.

Σύνταξη για Python Λεξικό

Dict = { ' Tim': 18,  xyz,.. }

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

Σύνταξη για Python Λεξικό

Ιδιότητες κλειδιών λεξικού

Υπάρχουν δύο σημαντικά σημεία κατά τη χρήση των πλήκτρων λεξικού

  • Δεν επιτρέπονται περισσότερες από μία καταχωρίσεις ανά κλειδί (δεν επιτρέπεται διπλό κλειδί)
  • Οι τιμές στο λεξικό μπορούν να είναι οποιουδήποτε τύπου, ενώ τα κλειδιά πρέπει να είναι αμετάβλητα όπως οι αριθμοί, πλειάδες
  • Τα κλειδιά λεξικού έχουν διάκριση πεζών-κεφαλαίων - Το ίδιο όνομα κλειδιού αλλά με τις διαφορετικές πεζοπορίες αντιμετωπίζονται ως διαφορετικά κλειδιά 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 λεξικά.

Συνοψίστε αυτήν την ανάρτηση με: