Bu makalede, Python'daki iç içe geçmiş sözlük hakkında bilgi edineceksiniz. Daha spesifik olarak, örnekler yardımıyla iç içe sözlük oluşturmayı, öğelere erişmeyi, bunları değiştirmeyi vb. Öğreneceksiniz.
Python'da sözlük, sıralanmamış bir öğe koleksiyonudur. Örneğin:
sözlük = ('anahtar': 'değer', 'anahtar_2': 'değer_2')
Burada, sözlükte key:value
küme parantezleri içinde bir çift vardır ()
.
Sözlük hakkında daha fazla bilgi edinmek için lütfen Python Sözlüğünü ziyaret edin.
Python'da İç İçe Sözlük nedir?
Python'da iç içe geçmiş sözlük, sözlüğün içindeki sözlüktür. Tek bir sözlükte bir sözlükler koleksiyonudur.
nested_dict = ('dictA': ('anahtar_1': 'değer_1'), 'dictB': ('anahtar_2': 'değer_2'))
Burada, nested_dict, sözlük dictA
ve dictB
. Her birinin kendi anahtarı ve değeri olan iki sözlüktür.
İç İçe Sözlük Oluşturma
Bir sözlükte insan sözlüğü oluşturacağız.
Örnek 1: İç içe geçmiş sözlük nasıl oluşturulur
people = (1: ('name': 'John', 'age': '27', 'sex': 'Male'), 2: ('name': 'Marie', 'age': '22', 'sex': 'Female')) print(people)
Yukarıdaki programı çalıştırdığımızda çıktı:
(1: ('name': 'John', 'age': '27', 'sex': 'Erkek'), 2: ('ad': 'Marie', 'yaş': '22', 'cinsiyet ':' Kadın '))
Yukarıdaki programda insanlar iç içe geçmiş bir sözlüktür. Dahili sözlük 1
ve 2
kişilere atanmıştır. Burada, sözlük hem anahtar var name
, age
, sex
farklı değerlerle. Şimdi, insanların sonuçlarını basıyoruz.
Yuvalanmış Sözlüğün öğelerine erişme
İç içe geçmiş bir sözlüğün öğesine erişmek için ()
, Python'da indeksleme sözdizimini kullanırız .
Örnek 2: () sözdizimini kullanarak öğelere erişin
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'))
Yukarıdaki programı çalıştırdığımızda çıktı:
John 27 Erkek
Yukarıdaki programda, name
ie kullanarak anahtarın değerini people(1)('name')
dahili sözlükten yazdırıyoruz 1
. Benzer şekilde değerini age
ve sex
tek tek yazdırıyoruz .
İç İçe Sözlüğe öğe ekleme
Örnek 3: Yuvalanmış bir sözlükteki öğeler nasıl değiştirilir veya eklenir?
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))
Yukarıdaki programı çalıştırdığımızda çıktı:
('name': 'Luna', 'age': '24', 'sex': 'Kadın', 'evli': 'Hayır')
Yukarıdaki programda, 3
sözlük insanlarının içinde boş bir sözlük oluşturuyoruz .
Daha sonra key:value
çiftini yani people(3)('Name') = 'Luna'
sözlüğün içine ekleriz 3
. Benzer şekilde, anahtar için bunu age
, sex
ve married
teker teker. Biz yazdırırken people(3)
, biz olsun key:value
Sözlük çiftleri 3
.
Örnek 4: İç içe geçmiş sözlüğe başka bir sözlük ekleyin
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))
Yukarıdaki programı çalıştırdığımızda çıktı:
('name': 'Peter', 'age': '29', 'sex': 'Erkek', 'evli': 'Evet')
Yukarıdaki programda, bir sözlüğe literal atıyoruz people(4)
. Literal anahtarları name
, age
ve sex
ilgili değerleri ile. Ardından people(4)
, sözlüğün 4
iç içe geçmiş sözlüğe eklendiğini görmek için , yazdırıyoruz .
İç içe geçmiş bir sözlükten öğeleri silme
Python'da, öğeleri iç içe geçmiş sözlükten silmek için "del" ifadesini kullanırız.
Örnek 5: İç içe geçmiş bir sözlükten öğeler nasıl silinir?
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))
Yukarıdaki programı çalıştırdığımızda çıktı:
('ad': 'Luna', 'yaş': '24', 'cinsiyet': 'Kadın') ('ad': 'Peter', 'yaş': '29', 'cinsiyet': 'Erkek')
Yukarıdaki programda, key:value
çiftlerini married
dahili sözlükten siliyoruz 3
ve 4
. Ardından, değişiklikleri onaylamak için people(3)
ve yazdırırız people(4)
.
Örnek 6: İç içe geçmiş bir sözlükten sözlük nasıl silinir?
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)
Yukarıdaki programı çalıştırdığımızda çıktı:
(1: ('name': 'John', 'age': '27', 'sex': 'Erkek'), 2: ('ad': 'Marie', 'yaş': '22', 'cinsiyet ':' Kadın '))
Yukarıdaki programda, iç sözlüğü hem silmek 3
ve 4
kullanan del
iç içe sözlük insanlardan. Ardından, değişiklikleri onaylamak için iç içe geçmiş sözlük insanlarını yazdırıyoruz.
İç içe geçmiş bir sözlükte yineleme
For döngülerini kullanarak, iç içe geçmiş bir sözlükteki her bir öğeyi yineleyebiliriz.
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.
- Sözlüğe tuşu kullanılarak erişilir.