Python Nested Dictionary (Με παραδείγματα)

Σε αυτό το άρθρο, θα μάθετε για ένθετο λεξικό στο 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:

  1. Nested dictionary is an unordered collection of dictionary
  2. Slicing Nested Dictionary is not possible.
  3. We can shrink or grow nested dictionary as need.
  4. Like Dictionary, it also has key and value.
  5. Η πρόσβαση στο λεξικό γίνεται με το πλήκτρο.

ενδιαφέροντα άρθρα...