Python yığını

Python işlevleri ve meth

Yığınlar, çok çeşitli kullanımları olan önemli bir veri yapısıdır.

Programlamada yığınlar, verileri son giren ilk çıkar (LIFO) düzeninde depolamanıza olanak tanır. Bu, bir yığında depolanan son öğenin işlenecek ilk öğe olduğu anlamına gelir.

Fakat Python'da bir yığın nasıl oluşturulur? Bu kılavuzda yanıtlayacağımız soru bu. Bu kılavuzu okuduktan sonra, Python'da yığın oluşturma ve bunlarla çalışma konusunda uzman olacaksınız.




Python Yığınları

Yığınlar, verileri son girişte depolar. , ilk çıkar (LIFO) siparişi.

Bu siparişin nasıl çalıştığını anlamanıza yardımcı olması için bir tabak yığınını düşünün. Temizlemeniz gereken bir tabak yığınınız olduğunda, hareket ettireceğiniz ilk tabak en üsttekidir. Ardından, plakaları hareket ettirdikçe, yığının aşağısındakilere erişebileceksiniz.

Yığınlar, Python'daki sıraların tam tersidir. Kuyruklar en son eklenen öğeyi kaldırır (ilk giren ilk çıkar yapısını kullandıkları için), yığınlar ise en son eklenen öğeyi kaldırır (çünkü son giren ilk çıkar yapısını kullanırlar).

Yığınlar tipik olarak iki işlemi destekler: push ve pop. İtme, bir yığının en üstüne bir öğe eklemenize izin verir ve haşhaş, yığının en üstündeki öğeyi kaldırmanıza olanak tanır.

Python'da kullanabileceğiniz iki ana yaklaşım vardır. yığın oluşturmak için: yerleşik listeleri kullanma ve collections.deque() sınıfını kullanma. Şimdi bu yaklaşımların her birinin nasıl çalıştığını inceleyelim.

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 az zaman harcadı.

Yerleşik liste verileri type, Python'da bir yığın oluşturmanıza olanak tanır.


Python listeleri diziler olarak uygulandığından, bunlara kolayca öğe ekleyebilir ve kaldırabilirsiniz.Ayrıca, bir listeye değer eklediğiniz sıra korunur, bu da kolayca kaldırabileceğiniz anlamına gelir. bir listedeki ilk ve son öğeler.

Bir sınıftaki ev ödevlerinin listesini depolayan bir yığın oluşturmak istediğimizi varsayalım.Öğretmen bu ödevlere göründükleri sırayla not vermek istiyor. yığın (yani, ilk verilen ödev yığının altında olacak ve en son verilen ödev yığının en üstünde olacak).

Öğeleri Yığına Ekle

Bir yığına öğe eklemek için append() yöntemini kullanabiliriz. Aşağıdaki kodu kullanarak ev ödevimizi oluşturabiliriz:

atamalar = [ ] atamalar.append("Hannah") atamas.append("Benny") atamas.append("Gordon") print(assignments)

Kodumuz şunu döndürür:

['Hannah','Benny','Gordon']

Kodumuzda, önce atamalar adında bir liste bildiririz. Ardından, teslim edilen ödev listemize üç isim eklemek için append() yöntemini kullanıyoruz. Eklediğimiz isimler sırasıyla: Hannah, Benny, Gordon. Gordon ödevini en son teslim ettiğinden, listemizdeki son konumda görünür.

Öğeleri Yığından Kaldır

Gordon'un ödevine not verdiğimizi varsayalım ve hangisinin sınıfa yakın olduğunu bulmak istiyoruz. Bu, yığınımızın en üstündeki öğenin kaldırılmasını içerir.

Bir öğeyi yığınımızdan çıkarmak için pop() yöntemini kullanabiliriz. İşte yığınımızdaki en üstteki öğeyi kaldırmak için kullanabileceğimiz kod:

assignments = [] atamalar .append("Hannah") atamaları.append("Benny") atamaları.append("Gordon") atamaları.pop() print(assignments)

Kodumuz şunu döndürür:

['Hannah','Benny']

Gordon’un adı pop() kullanılarak yığından kaldırıldı ve bu nedenle yığınımız artık yalnızca iki isim içeriyor: Hannah ve Benny.





collections.deque Sınıfı

Koleksiyon kitaplığındaki deque sınıfı, çift uçlu bir kuyruk oluşturmanıza olanak tanır.

deque nesnesi çift ​​bağlantılı bir liste olarak uygulanır, bu da öğeleri eklerken ve silerken güçlü ve tutarlı performansa sahip olduğu anlamına gelir.Ayrıca, koleksiyon kitaplığı Python Standart Kitaplığı'nın bir parçası olduğu için, indirmeye gerek kalmadan kodunuza aktarabilirsiniz. harici bir kitaplık.

collections.deque sınıfıyla çalışmak için, önce onu bir import ifadesi kullanarak kodumuza aktarmalıyız:

collections import deque

Ödev örneğimize geri dönelim ve collections.deque sınıfı çalışır.

Bir Deque Yığınına Öğe Ekleme

 deque yığınına öğeler eklemek için append() yöntemini kullanabiliriz. Deque sınıfını kullanarak ev ödevlerimizle bir sıra oluşturmak istediğimizi varsayalım. Bunu şu kodu kullanarak yapabiliriz:

koleksiyonlardan import deque atamaları = deque() atamaları.append(" Hannah") atamaları.append("Benny") atamaları.append("Gordon") print(assignments)

Kodumuz şunu döndürür:

deque(['Hannah','Benny','Gordon'])

Kodumuzu parçalayalım . İlk olarak, koleksiyon kitaplığından deque sınıfını içe aktarıyoruz. Daha sonra deque() kullanarak bir deque oluşturuyoruz ve bunu atamalar değişkenine atayacağız.

Ardından, dosyamıza üç isim ekliyoruz. atamalar deque: Hannah, Benny ve Gordon. Son olarak, ödev kuyruğumuzun içeriğini konsola yazdırıyoruz.

"Python.Engineering hayatıma en 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 hedeflerim ile uyumlu hayalimdeki işi buldum!"

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

Görebilirsiniz bu örnekte, verilerimiz yığın yerine deque olarak depolanır (sonucumuzun deque() içine alınmış olmasıyla gösterilir). Bunun nedeni, verilerimiz hala bir yığın gibi davransa da deque yapısını kullanmamızdır.

Bir Deque Yığınından Öğeleri Kaldır

Bir deque yığınından öğeleri çıkarmak için , pop() yöntemini kullanabilirsiniz.


Gordon ve Benny'nin ödevlerine yeni not verdiğimizi varsayalım. Bunları yığınımızdan çıkarmak için aşağıdaki kodu kullanabiliriz:

koleksiyonlardan import deque atamaları = deque() atamaları.append("Hannah") atamaları.append("Benny") atamaları.append("Gordon") atamaları. pop() atamaları.pop() print(assignments)

Kodumuz şunu döndürür:

deque(['Hannah'])

Kodumuzda önce üç değer içeren bir deque stack oluşturuyoruz. Ardından pop()< komutunu çalıştırıyoruz. /code> deyimi iki kez. pop() deyimi her çalıştığında, yığınımızın en üstündeki öğe kaldırılır.Bu, Gordon ve ardından Benny değerlerinin yığınımızdan kaldırıldığı ve Hann'in kaldığı anlamına gelir. ah yığınımızda kalan tek öğe olarak.

Python deque sınıfı hakkında daha fazla bilgi edinmek için Python kuyrukları ve deques.




Sonuç

Yığınlar, verileri son giren ilk çıkar şeklinde depolamanıza olanak tanır. Python'da bir yığın uygulamanın birkaç yolu vardır, ancak en pratik iki yaklaşım Python yerleşik liste yapısını kullanmak veya collections.deque() sınıfını kullanmaktır.

Bu eğitimde örneklere referansla listeler ve collections.deque() kullanılarak Python'da nasıl yığın oluşturulacağı tartışıldı. Artık profesyonel bir Python geliştiricisi gibi kendi yığınlarınızı oluşturmaya hazırsınız!





Python yığını: StackOverflow Questions