Σε αυτό το άρθρο, θα μάθετε για ένθετο λεξικό στο Python. Πιο συγκεκριμένα, θα μάθετε να δημιουργείτε ένθετο λεξικό, να έχετε πρόσβαση σε στοιχεία, να τα τροποποιείτε και ούτω καθεξής με τη βοήθεια παραδειγμάτων.
Στο Python, ένα λεξικό είναι μια μη ταξινομημένη συλλογή αντικειμένων. Για παράδειγμα:
λεξικό = ('κλειδί': 'τιμή', 'κλειδί_2': 'τιμή_2')
Εδώ, το λεξικό έχει ένα key:value
ζευγάρι κλειστό μέσα σε αγκύλες ()
.
Για να μάθετε περισσότερα σχετικά με το λεξικό, επισκεφθείτε το λεξικό Python.
Τι είναι το ένθετο λεξικό στο Python;
Στο Python, ένα ένθετο λεξικό είναι ένα λεξικό μέσα σε ένα λεξικό. Είναι μια συλλογή λεξικών σε ένα μόνο λεξικό.
nested_dict = ('dictA': ('key_1': 'value_1'), 'dictB': ('key_2': 'value_2'))
Εδώ, το nested_dict είναι ένα ένθετο λεξικό με το λεξικό dictA
και dictB
. Είναι δύο λεξικά το καθένα με το δικό του κλειδί και αξία.
Δημιουργήστε ένα ένθετο λεξικό
Θα δημιουργήσουμε λεξικό ατόμων σε ένα λεξικό.
Παράδειγμα 1: Πώς να δημιουργήσετε ένα ένθετο λεξικό
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)
Όταν τρέχουμε πάνω από το πρόγραμμα, θα εξάγει:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Θηλυκός'))
Στο παραπάνω πρόγραμμα, οι άνθρωποι είναι ένα ένθετο λεξικό. Το εσωτερικό λεξικό 1
και 2
ανατίθεται σε άτομα. Εδώ, τόσο το λεξικό έχει κλειδί name
, age
, sex
με διαφορετικές τιμές. Τώρα, εκτυπώνουμε το αποτέλεσμα των ανθρώπων.
Πρόσβαση σε στοιχεία ενός ένθετου λεξικού
Για πρόσβαση στο στοιχείο ενός ένθετου λεξικού, χρησιμοποιούμε ()
σύνταξη ευρετηρίου στο Python.
Παράδειγμα 2: Πρόσβαση στα στοιχεία χρησιμοποιώντας τη σύνταξη ()
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people(1)('name')) print(people(1)('age')) print(people(1)('sex'))
Όταν τρέχουμε πάνω από το πρόγραμμα, θα εξάγει:
John 27 Male
Στο παραπάνω πρόγραμμα, εκτυπώνουμε την τιμή του κλειδιού name
χρησιμοποιώντας δηλαδή people(1)('name')
από το εσωτερικό λεξικό 1
. Ομοίως, εκτυπώνουμε την τιμή age
και sex
ένα προς ένα.
Προσθήκη στοιχείου σε ένθετο λεξικό
Παράδειγμα 3: Πώς να αλλάξετε ή να προσθέσετε στοιχεία σε ένθετο λεξικό;
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) people(3) = () people(3)('name') = 'Luna' people(3)('age') = '24' people(3)('sex') = 'Female' people(3)('married') = 'No' print(people(3))
Όταν τρέχουμε πάνω από το πρόγραμμα, θα εξάγει:
('όνομα': 'Λούνα', 'ηλικία': '24', 'σεξ': 'Γυναίκα', 'παντρεμένος': 'Όχι')
Στο παραπάνω πρόγραμμα, δημιουργούμε ένα κενό λεξικό 3
μέσα στο λεξικό άτομα.
Στη συνέχεια, προσθέτουμε το key:value
ζεύγος δηλαδή people(3)('Name') = 'Luna'
μέσα στο λεξικό 3
. Ομοίως, το κάνουμε αυτό για το κλειδί age
, sex
και married
ένα προς ένα. Όταν εκτυπώνουμε το people(3)
, παίρνουμε key:value
ζευγάρια λεξικού 3
.
Παράδειγμα 4: Προσθέστε ένα άλλο λεξικό στο ένθετο λεξικό
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No')) people(4) = ('name': 'Peter', 'age': '29', 'sex': 'Male', 'married': 'Yes') print(people(4))
Όταν τρέχουμε πάνω από το πρόγραμμα, θα εξάγει:
('όνομα': 'Πέτρος', 'ηλικία': '29', 'σεξ': 'Άνδρας', 'παντρεμένος': 'Ναι')
Στο παραπάνω πρόγραμμα, εκχωρούμε λεξικό στο λεξικό people(4)
. Η κυριολεκτική έχουν τα κλειδιά name
, age
και sex
με τις αντίστοιχες τιμές. Στη συνέχεια εκτυπώνουμε το people(4)
, για να δούμε ότι το λεξικό 4
προστίθεται σε ένθετα λεξικά άτομα.
Διαγραφή στοιχείων από ένα ένθετο λεξικό
Στο Python, χρησιμοποιούμε τη δήλωση "del" για να διαγράψουμε στοιχεία από ένθετο λεξικό
Παράδειγμα 5: Πώς να διαγράψετε στοιχεία από ένθετο λεξικό;
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female', 'married': 'No'), 4: ('name': 'Peter', 'age': '29', 'sex': 'Male', 'married': 'Yes')) del people(3)('married') del people(4)('married') print(people(3)) print(people(4))
Όταν τρέχουμε πάνω από το πρόγραμμα, θα εξάγει:
('name': 'Luna', 'age': '24', 'sex': 'Female') ('name': 'Peter', 'age': '29', 'sex': 'Male')
Στο παραπάνω πρόγραμμα, διαγράφουμε τα key:value
ζεύγη married
από το εσωτερικό λεξικό 3
και 4
. Στη συνέχεια, εκτυπώνουμε το people(3)
και people(4)
για να επιβεβαιώσουμε τις αλλαγές.
Παράδειγμα 6: Πώς να διαγράψετε λεξικό από ένθετο λεξικό;
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female'), 3: ('name': 'Luna', 'age': '24', 'sex': 'Female'), 4: ('name': 'Peter', 'age': '29', 'sex': 'Male')) del people(3), people(4) print(people)
Όταν τρέχουμε πάνω από το πρόγραμμα, θα εξάγει:
(1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex ': 'Θηλυκός'))
Στο παραπάνω πρόγραμμα, θα διαγραφεί τόσο την εσωτερική λεξικό 3
και 4
τη χρήση del
από τα ένθετα λεξικό ανθρώπους. Στη συνέχεια, εκτυπώνουμε τα ένθετα λεξικά άτομα για επιβεβαίωση των αλλαγών.
Επανάληψη μέσω ένθετου λεξικού
Χρησιμοποιώντας το για βρόχους, μπορούμε να επαναλάβουμε κάθε στοιχείο σε ένα ένθετο λεξικό.
Example 7: How to iterate through a Nested dictionary?
people = (1: ('Name': 'John', 'Age': '27', 'Sex': 'Male'), 2: ('Name': 'Marie', 'Age': '22', 'Sex': 'Female')) for p_id, p_info in people.items(): print("Person ID:", p_id) for key in p_info: print(key + ':', p_info(key))
When we run above program, it will output:
Person ID: 1 Name: John Age: 27 Sex: Male Person ID: 2 Name: Marie Age: 22 Sex: Female
In the above program, the first loop returns all the keys in the nested dictionary people. It consist of the IDs p_id of each person. We use these IDs to unpack the information p_info of each person.
The second loop goes through the information of each person. Then, it returns all of the keys name
, age
, sex
of each person's dictionary.
Now, we print the key of the person’s information and the value for that key.
Key Points to Remember:
- Nested dictionary is an unordered collection of dictionary
- Slicing Nested Dictionary is not possible.
- We can shrink or grow nested dictionary as need.
- Like Dictionary, it also has key and value.
- Η πρόσβαση στο λεξικό γίνεται με το πλήκτρο.