iç içe sözlük Python

Python işlevleri ve meth

Bir Python iç içe sözlüğü, başka bir sözlük içindeki bir sözlüktür. Bu, mevcut bir sözlükte anahtar/değer eşleme yapısını kullanarak verileri depolamanıza olanak tanır. 

Python'da sözlüklerle çalışırken, sözlüğün başka bir sözlük içerdiği bir durumla karşılaşabilirsiniz. 

Bu veri yapısı genellikle iç içe sözlük olarak adlandırılır ve Python kodunda çok çeşitli potansiyel kullanım örneklerine sahiptir. 

Bu eğitici, Python iç içe sözlüklerinin temellerini tartışacaktır. İç içe bir sözlüğü nasıl oluşturacağınızı ve değiştireceğinizi öğrenebilmeniz için birkaç örnek üzerinden geçeceğiz. 




Python Sözlük Yenileyici

Sözlük, Python'un haritalama veri türüdür. Bir Python sözlüğü, değerlerin anahtarlarını—veya harita—ve veri depolamanın etkili bir yolunu sunar. 

Bir anahtar bir değerle eşlendiğinde, o değerde depolanan verileri anahtara başvurarak alabilirsiniz. Yani, bir anlamda, anahtar bir etiket gibi davranır. İşte yerel bir dondurma dükkanında satılan dondurma aromalarının fiyatlarını saklayan bir sözlük örneği, The Frozen Spoon:

ice_cream_flavors = { "Vanilya": 0,50, "Çikolata": 0,50, "Kurabiyeler ve Krema": 0,75, "Çilek": 0,65, "Tereyağlı Cevizli": 0,90 } 

Bu sözlükteki anahtarlar, dondurmalarımızın adlarıdır (yani “Vanilya”) ve değerler, her bir dondurmanın kaşık başına fiyatlarıdır.




Python Nested Dictionary

Python iç içe sözlükler bir sözlük içindeki sözlüklerdir. Sözlük verilerini başka bir sözlükte temsil etmek için kullanılırlar. Bir sözlüğe istediğiniz kadar sözlük yerleştirebilirsiniz.

Katılımcıların %81'i bir eğitim kampına katıldıktan sonra teknik iş beklentileri konusunda daha emin hissettiklerini belirtti. Bugün bir eğitim kampı ile eşleştirin.

Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan daha az zaman harcadı.

İç içe sözlükler, aşağıdaki durumlarda kullanışlıdır: bir dizi bileşen sözlüklerini tek bir büyük sözlükte saklamak istiyorsunuz. 

İç içe sözlüklerin nasıl çalıştığını göstermek için bir örnek üzerinden gidelim. The Frozen Spoon'da satılan her dondurma çeşidiyle ilgili sözlükleri saklayan bir sözlük oluşturmak istediğimizi varsayalım. Büyük sözlüğümüzdeki her sözlük şunları listelemelidir:

  • Dondurmanın adı
  • Fiyatı
  • Stokta kaç pint var

Bu verileri depolayan iç içe bir sözlük şöyle görünür:

 ice_cream_flavors = { 0: { "tat": "Vanilya", "fiyat": 0,50, "bira bardağı": 20 }, 1: { "tat": "Çikolata", "fiyat": 0,50, "bira bardağı": 31 } , 2: { "flavor": "Cookies and Cream", "price": 0.75, "pints": 14 } } 

Kodumuzda ice_cream_flavors. Bu sözlük, her biri belirli bir dondurma aroması hakkında bilgi depolayan üç sözlük içerir. 

İç içe sözlük kullanmasaydık, bu sözlüklerin her birini ayrı değişkenlerde saklamak zorunda kalırdık. dondurma aromaları.




İç İçe Sözlükteki Öğelere Erişim

İç içe sözlükteki bir öğeye erişmek için dizin oluşturma sözdizimini kullanabiliriz.

İstediğimizi varsayalım. sözlüğümüzdeki 0 indeks değerine sahip dondurmanın fiyatını almak için. Bunu şu kodu kullanarak yapabiliriz:

Kodumuz şunu döndürür:

0.50 Vanilla

Bu kodda ilk önce büyük sözlüğümüzdeki değerini almak istediğimiz item anahtarını belirtiyoruz. Bu durumda indeks değeri 0 olan kayda erişmek istedik.

Ardından isim belirtiyoruz. almak istediğimiz iç sözlüğümüzdeki öğenin Bu durumda dondurmamızın fiyatını ve lezzetini geri almak istedik. Bu nedenle, her iki print() ifademizde fiyat ve tadı belirledik. 




İç İçe Sözlük Python: Öğe Ekle

İç içe sözlüğe öğe eklemek için, öğeyi değiştirmek için kullandığımız sözdizimini kullanabiliriz. İç içe bir sözlüğe öğe eklemek için kullanmanız gereken bir yöntem yoktur. Atama operatörünü kullanmanız gerekir.

Öğe eklemek için sözdizimi aşağıdaki gibidir:

dictionary_name[new_key_name] = new_value

Satılık bir vanilyalı dondurma hakkında bilgi depolayan bir sözlüğümüz olduğunu varsayalım. Dondurmada indirim olup olmadığını takip etmek istiyoruz. Bunu şu kodu kullanarak yapabiliriz:

ice_cream_flavors = { 0: { "flavor": "Vanilla" , "fiyat": 0,50, "bira bardağı": 20 }, 1: { "tat": "Çikolata", "fiyat": 0,50, "bira bardağı": 31 }, 2: { "tat": "Çerezler ve Krema" , "price": 0.75, "pints": 14 } } ice_cream_flavors[0]["discount"] = True print(ice_cream_flavors[0]) 

Kodumuzu çalıştıralım ve ne olduğunu görün:

{'lezzet': 'Vanilya', 'fiyat': 0,5, 'bira bardağı' : 20, 'indirim': True}

Sözlüğümüz Python değişkeni “ice_cream_flavors”'da saklanır.< /p>

Sözlüğe indirim adında bir anahtar ekledik.Bu anahtarın dizin konumu 0'dır.Bu anahtarın değerini True olarak ayarlıyoruz.Ardından sözlüğün çıktısını aldık. ice_cream_flavors iç içe sözlüğümüzdeki 0 dizin değeriyle. Bu, indirim anahtarımızın eklendiğini gösterir.

Bu söz dizimini bir güncelleme için kullanabiliriz. Mevcut bir sözlükte öğe. Diyelim ki çikolatalı dondurmamızın fiyatını kepçe başına 0,45 $ olarak değiştirmek istedik. Bunu şu kodu kullanarak yapabiliriz:

ice_cream_flavors = { 0: { "lezzet": "Vanilya", "fiyat": 0,50, "bira bardağı": 20 }, 1: { "lezzet": "Çikolata", "fiyat ": 0,50, "bira bardağı": 31 }, 2: { "tat": "Çerezler ve Krema", "fiyat": 0,75, "bira bardağı": 14 } } ice_cream_flavors[1]["fiyat"] = 0,45 yazdır( ice_cream_flavors[1]) 

Şirketimiz ode döner:

"Python.Engineering hayatıma en çok ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir bootcamp ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayattaki değerlerim ve hedeflerime uygun hayalimdeki işi buldum!"

Venus, Rockbot'ta Yazılım Mühendisi

< p>Çikolatalı dondurmamız için price tuşunun değerini 0,45 $ olarak değiştirdik.

Bunu yapmak için fiyatı olan sözlüğün indeks değerini belirledik. değerini 1 olarak değiştirmek istedik. Bu değer sözlüğümüzdeki çikolatalı dondurmalar ile ilgili bilgileri içermektedir.Ardından price anahtarına yeni bir değer atadık.




İç İçe Sözlük Python: Öğeyi Sil

İç içe sözlükte saklanan bir öğeyi silmek için del ifadesini kullanabiliriz.del ifadesi bir nesneyi silmenizi sağlar.del yazılır kendi satırında Python break ifadesi ve ardından sözlükteki silmek istediğiniz öğe gibi.

Diyelim ki artık mağazamızda geçici olarak kurabiye ve kremalı dondurma sunmuyoruz. saklanan kurabiyeler ve kremalı dondurma çalışmayı durdurdu ve mallar eridi. 

Aşağıdaki kodu kullanarak bu dondurmayı iç içe sözlüğümüzden kaldırabiliriz:

 ice_cream_flavors = { 0: { "tat": "Vanilya", "fiyat": 0,50, "bira bardağı": 20 }, 1: { "tat": "Çikolata", "fiyat": 0,50, "bira bardağı": 31 } , 2: { "flavor": "Cookies and Cream", "price": 0.75, "pints": 14 } } del ice_cream_flavors[2] print(ice_cream_flavors) 

Kodumuz döner :

{0: {'tat': 'Vanilya', 'fiyat': 0,5, 'bira bardağı' : 20}, 1: {'flavor': 'Chocolate', 'price': 0,5, 'pints': 31}}

Kodumuzda bir del kullandık Anahtarı 2 olan yuvalanmış sözlüğümüzdeki değeri silmek için ifadesi. Gördüğünüz gibi, bu Çerezler ve Krem girişini yuvalanmış sözlüğümüzden kaldırdı. 




Python İç İçe Bir Sözlüğüyle Yineleme

Şimdi, iç içe sözlüğümüzdeki her sözlüğün içeriğini şuraya yazdırmak istediğimizi varsayalım: konsol. Bu görevi nasıl başarabiliriz?

Bu harika bir soru. Yuvalanmış sözlüğümüzün içeriğini yazdırmak için bir Python for loop. Ayrıca, listeyi almak için Python sözlük öğeleri() yöntemini kullanacağız. sözlüğümüzdeki anahtarlar ve değerler:

ice_cream_flavors = { 0: { "flavor": "Vanilla", " fiyat": 0,50, "bira bardağı": 20 }, 1: { "tat": "Çikolata", "fiyat": 0,50, "bira bardağı": 31 }, 2: { "tat": "Çerezler ve Krema", " fiyat": 0,75, "bira bardağı": 14 } } fo r tuşu, ice_cream_flavors.items() içindeki değer: k için print("Dondurma:", anahtar), value.items() içindeki v: print(k + ":", değer[k]) 

Kodumuz şunu döndürür:

Dondurma: 0 lezzet: Vanilya fiyatı: 0,5 pint: 20 Dondurma: 1 çeşit: Çikolata fiyatı: 0,5 pint: 31 Dondurma: 2 çeşit: Kurabiye ve Krema fiyatı: 0,75 pint: 14

Kodumuzu parçalayalım. İlk olarak, iç içe dondurma aromaları sözlüğümüzü tanımladık. 

Ardından, ice_cream_flavors sözlüğündeki her anahtar ve değerden geçen bir for döngüsü tanımladık. Bu döngü, ice_cream_flavors sözlüğümüzdeki tüm anahtarların ve değerlerin bir listesini oluşturmak için .items()'i kullanır ve bu listede döngü yinelenebilir. 

Ardından, Dondurma: ve ardından belirli bir dondurmayla ilişkili anahtarı yazdırırız. 

Sonra, iç içe sözlüğümüzdeki her değer içindeki her öğe arasında dolaşmak için başka bir for döngüsü kullanırız. Bu, iç içe sözlüğümüzdeki her bir iç girişi ifade eder (vanilya ve çikolata için olanlar gibi). Bu döngü, iç sözlüklerimizdeki her anahtarın adını, ardından iki nokta üst üste ve ardından o anahtarla ilişkili değeri yazdırır. 




Sonuç

İç içe sözlükler, sözlükleri Python'da bir sözlük içinde saklamanıza izin verir. 

Bu eğiticide, örneklere referansla aşağıdakilerin nasıl yapılacağı tartışılmıştır:

  • İç içe sözlük oluşturma
  • İç içe sözlükte öğe ekleme ve öğeleri güncelleme
  • İç içe sözlükten öğeleri kaldırın
  • İç içe bir sözlük aracılığıyla yineleyin

Python'da kodlama hakkında daha fazla bilgi için Python kılavuzunda Kodlama Kılavuzu.





iç içe sözlük Python: StackOverflow Questions

Tutorials