Tam metin 2254 Kelimeler, tahmini öğrenme süresi 7 dakika
Kaynak: Pexels
Sözlük, aydınlanma eğitimi döneminde vazgeçilmez bir yardımcıdır
Sözlük, sıralı olmayan bir terim ve tanım koleksiyonudur, yani:
· Her veri noktasının bir tanımlayıcısı (yani terim) ve değeri (yani tanımı) vardır.
· Terim sözlükte benzersiz olmalıdır ve tekrarlanamaz.
· Listeden farklı olarak, bu terimler net bir sıra içinde değildir.
Bir sözlüğü tanımlamak için kaşlı ayraçlar kullanın ve terimleri veya tanım çiftlerini virgülle ayırın.
author = {"first_name": "Jonathan", "last_name": "Hsu", "kullanıcı adı": "jhsu98"}Bir sözlükteki değerlere erişmenin geleneksel yolu, köşeli parantez gösterimi kullanmaktır. Bu sözdizimi, aşağıda gösterildiği gibi, terimin adını köşeli parantez içine alır.
author = {"first_name": "Jonathan", "last_name": "Hsu", "username": "jhsu98"} print (yazar) # jhsu98print (yazar) # KeyError: 'middle_initial'Mevcut olmayan bir terimden alıntı yapmaya çalışmak, KeyError'a neden olur. Bu, özellikle öngörülemeyen iş verileriyle uğraşırken ciddi sorunlara neden olabilir.
İfadelerimizi try / exclude veya if ifadelerine sarabilsek de, sözlük terimlerini istiflemek için daha uygundur.
yazar = {} try: print (yazar), KeyError hariç, e: print (e) # 'username'ifauthor: print (yazar)JavaScript arka planınız varsa, sözlük değerlerinden noktalarla alıntı yapmak çekici olabilir. Bu Python'da çalışmaz.
author = {"first_name": "Jonathan", "last_name": "Hsu", "username": "jhsu98"} print (author.username) # AttributeError: 'dict' nesnesinin 'kullanıcı adı' özelliği yokturKaynak: Pexels
Sözlüğün değerlerine erişmek istediğinizde, en güvenli yol .get () yöntemini kullanmaktır. Bu işlevin iki parametresi vardır:
· İlk (Gerekli): Alınacak terimin adı. Terimlerin dinamik olarak alınmasına izin veren bir dize veya değişken olabilir.
· İkinci (isteğe bağlı): Terim yoksa, varsayılan değeri kullanın.
author = {"first_name": "Jonathan", "last_name": "Hsu", "username": "jhsu98"} print (author.get ('kullanıcı adı')) # jhsu98print (author.get ('middle_initial', None )) # YokTerim daha önce yayınlanmışsa, .get () geleneksel köşeli parantez referanslarından farklı değildir. Herhangi bir terim tanımlanmadıysa, istisnaların işlenmemesi için varsayılan bir değer döndürülür.
Bu varsayılan değer herhangi bir değer olabilir, ancak bunun isteğe bağlı olduğunu lütfen unutmayın. Varsayılan değer dahil edilmemişse, NULL'un Python eşdeğeri kullanılır.
Bazen, sadece sözlükte tanımlanmamış terimlerden kaçınmak istemezsiniz, aynı zamanda kodun veri yapısını otomatik olarak düzeltmesini de istersiniz. .Setdefault () öğesinin yapısı .get () öğesinin yapısı ile aynıdır. Bununla birlikte, terim tanımlanmadığında, varsayılan değere geri dönmenin yanı sıra, sözlük terimi de bu değere ayarlanacaktır.
author = {"first_name": "Jonathan", "last_name": "Hsu", "username": "jhsu98"} print (author.setdefault ('kullanıcı adı')) # jhsu98print (author.setdefault ('middle_initial', None )) # YokYukarıdaki örnek, .setdefault () terimi mevcut olduğunda köşeli parantez gösterimi veya .get () ile aynı olduğunu gösterir. Sadece bu değil, terim olmadığında, .get () gibi geçirilen varsayılan değeri döndürür.
.Get () 'den farklıdır çünkü terimleri ve tanımları artık aşağıda gösterildiği gibi sözlüğün bir parçasıdır.
author = {"first_name": "Jonathan", "last_name": "Hsu", "username": "jhsu98"} print (author.setdefault ('middle_initial', None)) # Noneprint (yazar) "" "{' first_name ':' Jonathan ',' last_name ':' Hsu ',' kullanıcı adı ':' jhsu98 ',' middle_initial ': None} ""Hem .get () hem de .setdefault () sözlük değerlerine atıfta bulunmak için mükemmel tekniklerdir ... Eski alışkanlıkları kırmak ve bu yaklaşımı benimsemek sadece biraz zaman alır.
Kaynak: Pexels
Orijinal verileri değiştirmek istemiyorsanız, .get () en iyi seçiminizdir.
Orijinal veriyi değiştirmek istiyorsanız, .setdefault () kullanın ve bitirdiniz.
Yorum Beğen Takip Et
Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım
Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun