Python Dictionary Daha İyi Kod Yazmak İçin Nasıl Kullanabilirsiniz?

  • Joseph Goodman
  • 0
  • 2123
  • 518
reklâm

Bir python sözlüğü, diğer programlama dillerinde bulunan bir ilişkisel diziye benzer bir veri yapısıdır. Bir dizi veya liste, elemanları konumlarına göre indeksler. Öte yandan, bir sözlük, öğeleri dizinler. anahtarlar dizeleri olabilir. Bir sözlüğü sıralanmamış kümeler olarak düşün anahtar değeri çiftleri.

Bu yazıda python sözlüğü ile çalışmanızı tanıtıyoruz.

Sözlük Oluşturma

Bir python sözlüğü oluşturmanın birkaç yolu vardır. En basiti, JSON'u hatırlatan bir sözdizimi ile ayraç başlatma kullanır. JSON Kullanarak İletişim Kurmak için Python ve JavaScript Nasıl Kullanılır JSON Kullanarak İletişim Kurmak için Python ve JavaScript Nasıl Alınır JSON Kullanarak İletişim Kurmak için Python ve JavaScript Nasıl Alınır? . İhtiyacınız olan tüm kod ile birlikte bir web sunucusunun nasıl kurulacağını anlatacağım. .

users = 'ilk isim': 'John', 'soyad': 'Smith', 'yaş': 27 

Sayıları tuş olarak da kullanabilirsiniz. Bununla birlikte, kayan nokta sayılarını anahtar olarak kullanırken dikkatli olun, çünkü bilgisayar bunları yaklaşık olarak saklar. RAM ve Bellek Yönetimi Hakkında Bilmeniz Gereken Her Şey RAM ve Bellek Yönetimi Hakkında Bilmeniz Gereken Her Şey RAM, bilgisayarınızın kısa süreli belleğidir. Bu nedenle, bellek yönetimi, sistem performansı üzerinde önemli bir etkiye sahiptir. Burada RAM'in nasıl çalıştığını ve verimliliğini artırmak için her şeyi yapıp yapamayacağınızı açıklıyoruz.. .

rain_percent = 1980: '17% ', 1981: '15%', 1982: '10% ' yazdırın rain_percent yazdırın rain_percent [1980] # yazdırır 1980: '17%', 1981: '15% ', 1982: '10% '% 17 

Anahtar-Değer Çiftlerini Belirleme

Ayrıca, anahtar kelime argümanları olarak ad değer çiftlerini kullanarak bir sözlük oluşturabilir ve başlatabilirsiniz. dict () inşaatçı.

nüfus = dict (Kaliforniya = 37253956, Colorado = 5029196, Connecticut = 3574097, Delaware = 897934) baskı popülasyonu # baskılar 'Connecticut': 3574097, 'Delaware': 897934, 'Kaliforniya': 37253956, 'Colorado': 5029196 

Anahtar Değer Tuples Dizisi

Sözlük oluşturmanın bir başka yolu da, bir anahtar-değer tuples dizisini kullanmaktır. İşte yukarıdaki ile aynı örnek.

çiftleri = [('California', 37253956), ('Colorado', 5029196), ('Connecticut', 3574097), ('Delaware', 897934)] popülasyon = dict (çift) baskı popülasyonu # baskı 'Connecticut': 3574097, 'Delaware': 897934, 'Kaliforniya': 37253956, 'Colorado': 5029196 

Dict Kavrama

Dict anlama, tuşlara dayalı değerleri hesaplayabilirseniz, bir dict başlatmak için harika bir sözdizimi sağlar. Aşağıdaki, bir sayı aralığı için bir sayılar dizisini ve bir kare değerlerini başlatır..

xrange'de x için x x: x ** 2 (10, 20) # 10: 100, 11: 121, 12: 144, 13: 169, 14: 196, 15: 225, 16: 256, 17 : 289, 18: 324, 19: 361 

O nasıl çalışır? İkinci bölüm (xrange'deki x için (10, 20)) belirtilen aralıktaki sayıları döndürür. Dict anlama kısmı (x: x ** 2…) bu aralıktaki döngüler ve sözlüğü başlatır.

Python Sözlüğü ile Çalışmak

Sözlükleri oluşturduktan sonra ne yapabilirsin? Elemanlara erişebilir, değerleri güncelleyebilir, elemanları silebilir, vb..

Python Sözlük Öğelerine Erişim

Parantez içindeki anahtarı kullanarak, bir diziyi veya listeyi yaptığınız gibi bir dikme elemanına erişin. Diziler ve Listeler Python'da Nasıl Çalışır? Diziler ve Listeler Python'da Nasıl Çalışır? Diziler ve listeler programlamadaki en yararlı veri yapılarından bazılarıdır. az sayıda insan bunları tam potansiyelleriyle kullanmasına rağmen. .

popülasyon yazdır ['Delaware'] # 897934 yazdırıyor 

Anahtar bir sayı ise, tırnak gerekmez. Daha sonra ifade bir liste veya dizi indeksleme gibi gözüküyor.

yazdır rain_percent [1980] # yazdırır 17% 

Erişim sırasında anahtarın Python sözlüğünde depolananlarla eşleşmesi gerekir. Erişim anahtarı bir dize iken, saklanan tuşlar sayı olduğundan, aşağıdaki hatalara neden olur..

x = '1980' rain_percent [x] # 1 sonuç verir x = '1980' ----> 2 print rain_percent [x] KeyError: '1980' 

Var olmayan bir anahtara erişme bir hata.

rain_percent = 1980: '17% ', 1981: '15%', 1982: '10% ' yazdırmak rain_percent [1983] #, 1 tane basar rain_percent = 1980: '17%', 1981: '15% ', 1982 : '10% ' ----> 2 yazdır yağmur_percent [1983] KeyError: 1983 

Eşleme yoksa bir anahtara erişmek ve varsayılan bir değer sağlamak için almak() İkinci bağımsız değişken olarak varsayılan değere sahip yöntem.

yazdır rain_percent.get (1985, '0%') # yazdırır 0% 

Varlık Kontrolü

Bir anahtarın varlığını gerçekten erişmeye çalışmadan (ve muhtemelen KeyError yukarıdaki gibi)? Kullanabilirsiniz içinde anahtar kelime formunda dct içinde anahtar hangi bir boole döndürür.

1980'de rain_percent olarak basar 1980 'de rain_percent içinde basar # basar True False 

Formu kullanarak koşulu tersine çevirin (yani, anahtarın Python sözlüğünde bulunmadığından emin olun) anahtar dct'de değil. Bu standart python olumsuzlamasına eşdeğerdir dct’de anahtar değil.

print 1980 rain_percent içinde değil yazdır 1985 rain_percent içinde değil # basar Yanlış 

Öğeleri Değiştirme

İstediğiniz tuşa atayarak değeri değiştirin..

users = 'firstname': 'John', 'soyad': 'Smith', 'yaş': 27 users ['age'] = 29 yazdırma kullanıcısı # print 'soyadı': 'Smith', 'yaş': 29, 'ilk ad': 'John' 

Python sözlüğüne yeni bir eşleme eklemek için aynı sözdizimini kullanın.

Kullanıcılar ['dob'] = '15 -sep-1971 'baskı kullanıcıları # baskı ' dob ': '15 -sep-1971', 'soyadı': 'Smith', 'yaş': 29, 'ad': ' John' 

Sözlüğü kullanarak tek seferde bir sözlüğün birden çok öğesini güncelleyin. güncelleştirme() yöntem.

users = 'firstname': 'John', 'soyad': 'Smith', 'yaş': 27 users.update ('yaş': 29, 'dob': '15 -sep-1971 ') print Kullanıcılar # prints 'dob': '15 -sep-1971 ',' soyadı ':' Smith ',' yaş ': 29,' ilk isim ':' John ' 

Kullanarak bir tuş için varsayılan bir değer belirleyin Varsayılana ayarla(). Eşleme yoksa, bu yöntem anahtarın değerini belirler. Geçerli değeri döndürür.

# geçerli değeri değiştirmez print users.setdefault ('ilk' ',' Jane ') # basar John # baskı değerini değiştirir user.setdefault (' şehir ',' NY ') # basar NY # Nihai değer yazdırma kullanıcıları # basar ' soyadı ':' Smith ',' yaş ': 27,' ilk ad ':' John ',' şehir ':' NY ' 

Öğeleri silme

Sözlükteki eşlemeleri silmek için del Şebeke. Bu operatör hiçbir şey döndürmüyor.

Karşılaşacaksın KeyError Anahtar sözlükte yoksa.

users = 'firstname': 'John', 'soyadı': 'Smith', 'yaş': 27 del users ['yaş'] print users # print 'soyadı': 'Smith', 'ilk isim': ' John' 

Kullan pop() yöntem yerine, silinen değeri geri istediğinizde.

users = 'firstname': 'John', 'soyad': 'Smith', 'yaş': 27 print users.pop ('yaş') print users # baskı 27 'soyadı': 'Smith', 'ad ':' John ' 

Ya varsa anahtarı varsa, hataya neden olmadan silmek istiyorsanız? Kullanabilirsiniz pop() ve belirtin Yok ikinci argüman için şöyle:

users = 'firstname': 'John', 'soyadı': 'Smith', 'yaş': 27 users.pop ('foo', None) baskı kullanıcıları # print 'soyadı': 'Smith', 'yaş ': 27,' ad ':' John ' 

Ve burada, bir anahtarın bir sözlükten var olmayan anahtarlarda hataya neden olmadan bir anahtarından silinmesi.

users = 'firstname': 'John', 'soyad': 'Smith', 'yaş': 27, 'dob': '15 -sep-1971 ' harita (lambda x: users.pop (x, None) , ['yaş', 'foo', 'dob']) kullanıcıları yazdır 

Bir sözlükteki tüm anahtarları silmek ister misiniz? Kullan açık() yöntem.

users = 'firstname': 'John', 'soyad': 'Smith', 'yaş': 27 users.clear () print users # prints  

Python Sözlükleriyle Döngü

Python, Döngü İçin Bilgisayar Programında Nasıl Çalışır - Döngüler Nasıl Çalışır? Döngü Bilgisayar Programında Nasıl Çalışırken, Döngü, programlamada öğreneceğiniz ilk kontrol türlerinden biridir. Muhtemelen süre ve döngüler hakkında bilginiz vardır, fakat bir süre bitimi döngüsü ne başarır? Bir sözlük girişleri üzerinde. İhtiyacınıza uygun birini seçin.

Anahtarlar Üzerinden Döngü

  • Anahtarları (ve muhtemelen değerleri) sırayla işlemek için en basit yöntem formun bir döngüsünü kullanır:
    users = 'firstname': 'John', 'soyad': 'Smith', 'yaş': 27 k kullanıcıları için: print k, '=>', users [k] # print = soyadı => Smith age = > 27 isim => John 
  • Yöntemi kullanarak iterkeys () tam olarak yukarıdakiyle aynı şekilde çalışır. Hangi formu kullanmak istediğinizi seçin.
    users = 'firstname': 'John', 'soyadı': 'Smith', 'yaş': 27, users.iterkeys () 'deki k için: baskı k,' => ', kullanicilar [k] # baskilari = > Smith yaşı => 27 isim => John 
  • Anahtarları bir döngüde almak ve işlemek için üçüncü bir yöntem yerleşik işlevi kullanmaktır. iter ().
    users = 'firstname': 'John', 'soyadı': 'Smith', 'yaş': 27 iter (k) 'da k için: print k,' => ', users [k] # print = soyadı => Smith yaşı => 27 isim => John 
  • İşlenmekte olan anahtarın dizinine ihtiyacınız olduğunda, ) (Numaralandırma gösterildiği gibi yerleşik işlev.
    users = 'firstname': 'John', 'soyadı': 'Smith', 'yaş': 27 indeks için, numaralandırmayı girin (kullanıcılar): indeksi yazdır, anahtar, '=>', users [k] # 0 soyadını yazdırır => John 1 age => John 2 firstname => John 

Anahtar-Değer Çiftleri Üzerinden Döngü

  • Her bir anahtar / değer çiftini tek bir arama ile almak istediğinizde, iteritems ().
    users = 'firstname': 'John', 'soyad': 'Smith', 'yaş': 27, k, v kullanıcıları için .iteritems (): print k, '=>', v #, lastname => yazdırır Smith yaşı => 27 isim => John 

Değerleri Aşırı Yinelemek

  • Yöntem itervalues ​​() Sözlükteki tüm değerlerin yinelenmesinde kullanılabilir. Bu yöntem kullanarak bir döngü benzer görünüyor olsa değerleri (), Tüm değerleri aynı anda almadığı için daha verimlidir.
    users = 'firstname': 'John', 'soyad': 'Smith', 'yaş': 27 users.itervalues ​​() içindeki değer için (): print değeri # print Smith 27 John 

Dizileri Çıkarma

Aşağıdaki yöntemler, çeşitli Python sözlük bilgilerini bir dizi biçiminde çıkarmayı açıklar. Elde edilen dizi normal python yapıları kullanılarak ilmeklenebilir. Ancak, döndürülen dizinin sözlüğün boyutuna bağlı olarak büyük olabileceğini unutmayın. Yani daha fazla olabilir pahalı (hafıza bilge) bu dizileri işlemek için yukarıdaki yineleme yöntemlerini kullanmaktan.

Bu dizilerle çalışmanın kabul edilebilir olduğu bir durum, istenmeyen öğelerle karşılaştığınızda sözlükteki öğeleri silmeniz gerektiğidir. Sözlüğü değiştirirken bir yineleyici ile çalışmak bir RuntimeError'a neden olabilir.

  • Yöntem öğeleri () bir anahtar-değer tuples dizisini döndürür. Bu anahtar / değer çiftlerini gösterildiği gibi yineleyebilirsiniz:
    users = 'firstname': 'John', 'soyadı': 'Smith', 'yaş': 27, k, v için users.items (): baskı k, '=>', v #, soyadını yazdırır => Smith yaşı => 27 isim => John 
  • Bu yöntemi kullanarak sözlükteki tüm anahtarları al anahtarlar().
    users = 'firstname': 'John', 'soyad': 'Smith', 'yaş': 27 print users.keys () # basar ['soyadı', 'yaş', 'ilk isim'] 

    Anahtarların üzerinden geçmek için döndürülen diziyi kullanın.

    users.keys () içindeki k için: k, '=>' yazdı, kullanıcılar [k] #, soyadını yazdırır => Smith yaşı => 27 ad => John 
  • Benzer şekilde, yöntemi kullanın değerleri () sözlükteki tüm değerleri almak için.
    users.values ​​() içindeki değer için: print değeri # print Smith 27 John 

Python Sözlüklerini Nasıl Kullanırsınız??

Bu makalede python sözlükleri için en yaygın kullanım durumlarını ele almaya çalıştık. Diğer Python makalelerimizin tümüne göz attığınızdan emin olun. 10 Hızlı Öğrenmenize Yardımcı Olacak 10 Temel Python Örneği 10 Hızlı Öğrenmenize Yardımcı Olacak 10 Temel Python Örneği Temel python örneklerinin bu makalesi, bazı programlama deneyimine sahip olanlar ve sadece isteyenler için Python'a geçişi olabildiğince çabuk yapın. daha fazlası için Python ipuçları için Python Acemi'den Pro'ya Giden 5 Kurs Sizi Python Acemi'den Pro'ya Gidecek 5 Kurs Bu beş kurs size Python'daki en sıcak dillerden biri olan programlama hakkında her şeyi öğretecek. . Dahil edilmesi gerektiğini düşündüğünüz başka kullanım durumlarınız varsa, lütfen aşağıdaki yorumlarda bize bildirin.!

Resim Kredisi: viper345 / Shutterstock




Henüz no comments

Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.