Python'da Koleksiyon: Bilmeniz Gereken Her Şey
Yayınlanan: 2021-04-09Python güçlü bir programlama dilidir. Modülerdir ve sadeliği, yeniden kullanılabilirliği ve sürdürülebilirliği ile bilinir. Modüler programlamada, büyük ve karmaşık bir programlama görevi daha küçük modüllere bölünür.
Bu makale Python'daki modül koleksiyonundan bahsediyor . Koleksiyon, işlevleri geliştirir ve Python'un genel amaçlı yerleşik dict, list, set ve tuple kaplarına alternatiftir.
'Python listeleri, demetler, kümeler ve sözlükler kullanıcı tanımlı veri yapılarıdır ve her birinin kendi avantajları ve dezavantajları vardır.'
İçindekiler
Python Modülü
Modül, bir dizi işlevi uygulayan Python tanımlarını ve ifadelerini içeren bir dosyadır. Import komutu, modülleri diğer modüllerden içe aktarmak için kullanılır. Python'un birkaç dahili modülü vardır.
Şimdi yazının can alıcı noktasına gelelim ve Python'da modül derlemesini detaylı olarak öğrenelim.
Python'da Koleksiyon
Python'da Koleksiyon , veri koleksiyonlarını depolayan kapsayıcıdır. Liste, küme, grup, dict vb . Python'da yerleşik koleksiyonlardır . Python'da veri koleksiyonlarını depolamak için ek veri yapıları sunan altı toplama modülü vardır. Bu Python modülleri, yerleşik kapsayıcı koleksiyonunun işlemlerini geliştirir.
Şimdi Python modülünde koleksiyon tarafından sağlanan farklı kapları tartışacağız .
1. OrderedDict
OrderedDict(), anahtarların eklendikleri sırayı koruduğu sözlük nesnesine benzer şekilde çalışır. Anahtarı tekrar eklemek isterseniz, önceki değerin üzerine yazılır ve anahtar konumu değişmez.
Örnek vermek:
Koleksiyonlardan OrderedDict'i içe aktar
d1=collections.OrderedDict()
d1['A']=1
d1['B']=2
d1['C']=3
d1['D']=4
d1.items() içindeki x,v için:
yazdır (x,v)
Çıktı:
1
B2
C3
D4
2. deque()
Python deque(), öğeleri her iki uçtan da ekleyen ve kaldıran optimize edilmiş bir listedir.
Örnek vermek:
koleksiyonlardan deque içe aktar
liste1 = [“a”,”b”,”c”]
deq = deque(list1)
baskı(deq)
Çıktı:
deque(['a', 'b', 'c'])
3. Sayaç
Sayaçlar, hashable nesneleri sayan sözlük nesnelerinin alt grubudur. Sayaç işlevi, bağımsız değişken olarak girdiyi yinelenebilir olarak alır ve bir çıktıyı Sözlük olarak döndürür. Anahtar yinelenebilir bir öğedir ve değer, yinelenebilir öğede bir öğenin toplam kaç kez bulunduğunu gösterir.
Örnek vermek:
koleksiyonlardan sayacı içe aktar
c = Sayaç()
liste1 = [1,2,3,4,5,7,8,5,9,6,10]
Sayaç(liste1)
Sayaç({1:5,2:4})
liste1 = [1,2,4,7,5,1,6,7,6,9,1]
c = Sayaç(list1)
yazdır (c[1])
Çıktı:
3
Ek Sayaç Fonksiyonları
1. elemanlar() Fonksiyon
elements() işlevi, Counter nesnesinde bulunan öğelerin bir listesini döndürür.
Örnek vermek:
c = Sayaç({1:4,2:3})
print(list(c.elements()))
Çıktı:
[1,1,1,1,2,2,2]
Burada, bir sözlük argümanı kullanılarak bir Counter nesnesi oluşturulur. 1 için sayım sayısı 4'tür ve 2 için 3'tür. Elements() işlevi, bir yineleyici döndüren c nesnesiyle çağrılır .
2. çoğu_ortak() İşlev
Counter() Python işlevi sırasız bir sözlük döndürürken, most_common () işlevi onu her öğe sayısının sayısına göre sıralar.
Örnek vermek:
liste = [1,2,3,4,5,5,5,7,3]
c = sayaç(liste)
print(c.most_common())
Çıktı:
[((5,3), (1,1),(2,1),(3,2),(4,1), (7,1))]
Burada, çoğu_ortak işlev, öğelerin sayısına göre sıralanmış bir liste döndürür. 5 üç kez gelir; bu nedenle, listenin öğesi olarak önce gelir.
3. Çıkar() İşlevi
subtract() yinelenebilir veya eşleme argümanlarını dikkate alır ve bu argümanla eleman sayısını çıkarır .
Örnek vermek:
c = sayaç({1:2,2:3})
çıktı= {1:1,2:1}
c. çıkarma(çıktı)
yazdır(c)
Çıktı:
Sayaç({1:1,2:2})
4. Zincir Haritası Nesneleri
Chainmap sınıfı, tek bir liste oluşturmak için birden çok sözlüğü gruplandırır. Bağlantılı sözlük herkese açıktır ve harita özniteliği ile erişilebilir.
Örnek vermek:
Zincir haritasını koleksiyonlardan içe aktarın
dict1 = { 'w': 1, 'x': 2 }
dict2 = {'y' : 3. 'z': 4 }
chain_map = ChainMap(dict1,dict2)
print(chain_map.maps)
Çıktı:
[{'x' : 2, 'w' :1}, {'y' : 3, 'x':4}]
5. Adlı çift
Nametuple() işlevi, tanımlama grubundaki her konum için adları olan bir tanımlama grubu nesnesi döndürür. Bir tanımlama grubu nesnesinin her alanının dizinini hatırlama sorununu ortadan kaldırmak için tanıtıldı.
Örnek vermek:
Koleksiyonlardan adlandırılmış öğeyi içe aktar
Öğrenci = nametuple ('Öğrenci', 'ad, soyad, yaş')
s1 = Öğrenci ('Tom', 'Değiştir', '12')
print(s1.ad)
Çıktı:
Öğrenci(ad='Tom', soyadı='Alter', yaş='12')
Bu örnekte, bir sınıfın herhangi bir örneğinin alanlarına erişebilirsiniz.
6. VarsayılanDict
Python defaultdict() bir sözlük nesnesidir ve dict sınıfının bir alt sınıfıdır. Tüm sözlük yöntemlerini sağlar, ancak ilk argümanı varsayılan veri türü olarak alır. Var olmayan bir anahtara eriştiğinizde hata veriyor.
Örnek vermek:
defaultdict'i koleksiyonlardan içe aktar
sayı = defaultdict(int)
sayı['bir'] = 1
sayı['iki'] = 2
yazdır (sayı['üç'])
Çıktı:
0
Çözüm
Python'daki koleksiyonun , Python toplama modülüne iyileştirme getirdiği bilinmektedir. Koleksiyonlar Python'un 2.4 sürümünde tanıtıldı. Sonraki sürümlerde birçok değişiklik ve iyileştirme beklenebilir. Bu yazıda Python'da var olan altı koleksiyonu örneklerle ve bunların dilde nasıl uygulandıklarını açıkladık. Bir öğrencinin bakış açısından en önemli kavramlardan biridir.
upGrad'ın özel bilgisayar uygulamaları lisans programı ile Python'da koleksiyon öğrenin . Bu program, BT endüstrisine giriş yapmak için gereken gerekli becerileri kapsar.
Python, Veri Bilimi hakkında bilgi edinmek istiyorsanız, IIIT-B & upGrad'ın çalışan profesyoneller için oluşturulan ve 10'dan fazla vaka çalışması ve proje, pratik uygulamalı atölye çalışmaları, endüstri uzmanlarıyla mentorluk sunan Veri Biliminde Yönetici PG Programına göz atın , sektör danışmanlarıyla bire bir, en iyi firmalarla 400+ saat öğrenim ve iş yardımı.
Dünyanın en iyi Üniversitelerinden çevrimiçi veri bilimi kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Python'da zaten 4 yerleşik toplama veri türü vardır. Bunlar liste, demet, sözlük ve kümedir. Ancak, bu veri kapsayıcıları genel amaçlar için kullanılır. Python Sözlüğü veya "Dict", sırasız bir öğe koleksiyonunu depolamak için kullanılan Python'un yerleşik bir veri yapısıdır. Tek değerleri depolayan diğer Python veri yapılarının aksine, sözlük veri yapısı, her anahtarın benzersiz olduğu anahtar-değer çiftlerini depolar. Anahtar/değer çiftlerinin ekleme sırasını hatırlamaz ve anahtarlar arasında yinelenir. Python'daki adlandırılmış grup çeşitli işlemler gerçekleştirir. Aşağıda, adlandırılmış küme tarafından gerçekleştirilen en yaygın işlemlerden bazılarının bir listesi bulunmaktadır.Python'da toplama modülüne neden ihtiyacımız var?
Aşağıdaki noktalar, yerleşik veri kapsayıcılarına kıyasla toplama modülünü kullanmanın başlıca avantajlarını vurgulamaktadır.
Koleksiyon modülü, bu kapsayıcıların, adlandırılmış tuple, OrderedDict, defaultdict, chainmap, counter ve daha pek çok özel sürümünü sağlar.
Daha optimize edilmiş olan bu kapsayıcılar, liste, tuple ve set gibi geleneksel veri kapsayıcılarına daha iyi bir alternatif olduğunu kanıtlıyor.
Koleksiyon modülü, yapılandırılmış verilerle başa çıkmak için etkilidir.
Nametuple gibi veri kapsayıcıları daha az bellek tüketir ve verileri depolamak ve yönetmek için gelişmiş işlemler sağlar. Python'da bir sözlük ile Sıralı Sözlük arasındaki fark nedir?
Öte yandan, Ordered Dictionary veya OrderedDict, anahtar/değer çiftlerinin ekleme sırasını takip eder. Ayrıca, çift bağlantılı liste uygulaması nedeniyle Python'da normal bir sözlükten daha fazla bellek tüketir. Aynı anahtarı siler ve yeniden eklerseniz, OrderedDict ekleme sırasını hatırladığı için orijinal konumuna eklenecektir. Nametuple'ın çeşitli işlemleri nelerdir?
1. Erişim İşlemleri: Dizine göre erişim: Bir adlandırılmış kümedeki öğelere, sözlükten farklı olarak dizinleriyle erişilebilir. Anahtar adıyla erişim: Öğelere erişmenin alternatif yolu, anahtar adlarıdır.
2. Dönüştürme İşlemleri: make(): Bu işlev bir adlandırılmış küme döndürür. _asadict(): Bu işlev, eşlenen değerlerden oluşturulan sıralı bir sözlük döndürür. “**” (çift yıldız) operatörünü kullanarak: Bu işlev, bir Python sözlüğünü adlandırılmış bir kümeye dönüştürür.
3. Ek İşlemler: _fileds(): Bu işlev, verilen adlandırılmış grubun tüm anahtar adlarını döndürür. _replace(): Bu işlev, argümanı olarak bir anahtar adı alır ve ona eşlenen değerleri değiştirir.