Listeler ve Demetler – Python Analizi Yaptırma Fiyatları – Python Yazılım Analizi Örnekleri – Ücretli Python Analizi Yaptırma – Python Dili
Listeler ve Demetler
Bu yazımızda yeni bir kavramı tanıtıyoruz: veri yapıları. Bir veri yapısı, bir şekilde, örneğin öğeleri numaralandırarak yapılandırılmış bir veri öğeleri koleksiyonudur (sayılar veya karakterler ve hatta diğer veri yapıları gibi). Python’daki en temel veri yapısı sıradır. Bir dizinin her elemanına, konumu veya indeksi için bir numara atanır. Birinci dizin sıfır, ikinci dizin birdir ve böyle devam eder.
■Not : Günlük hayatınızda bir şeyleri saydığınızda veya numaralandırdığınızda, muhtemelen 1’den saymaya başlarsınız. Python’da kullanılan numaralandırma şeması tuhaf görünebilir, ancak aslında oldukça doğaldır.
Bunun nedenlerinden biri, bölümün ilerleyen kısımlarında göreceğiniz gibi, sondan da sayabilmenizdir: Bir dizinin son öğesi -1, sondan bir sonraki -2 vb. Bu, başlangıçta bulunan ilk öğeden veya sıfırdan ileri veya geri sayabileceğiniz anlamına gelir. İnan bana, alışırsın.
Python’da altı yerleşik dizi türü vardır, ancak en yaygın olanlardan ikisine odaklanalım: listeler ve demetler. Bunların arasındaki temel fark, bir listeyi değiştirebilmeniz, ancak bir demet değiştirememenizdir.
Bu, ilerledikçe öğe eklemeniz gerektiğinde bir listenin yararlı olabileceği anlamına gelirken, herhangi bir nedenle dizinin değişmesine izin veremiyorsanız bir demet yararlı olabilir. İkincisinin nedenleri genellikle Python’da işlerin dahili olarak nasıl çalıştığıyla ilgili oldukça tekniktir.
Bu nedenle demetleri döndüren yerleşik işlevler görebilirsiniz. Kendi programlarınız için, neredeyse her koşulda demetler yerine listeleri kullanabilirsiniz. (Açıklandığı gibi dikkate değer bir istisna, demetleri sözlük anahtarı olarak kullanmaktır. Anahtarları değiştirmenize izin verilmediği için listelere izin verilmez.)
■Not: Diğer yerleşik sıra türleri, dizeler (sonraki bölümde tekrar ziyaret edeceğim), Unicode dizeleri, arabellek nesneleri ve xrange nesneleridir.
Diziler, bir değerler koleksiyonuyla çalışmak istediğinizde kullanışlıdır. Bir veritabanındaki bir kişiyi temsil eden bir sıralamaya sahip olabilirsiniz; ilk öğe kişinin adı, ikincisi ise yaşıdır. Bir liste olarak yazılır (bir listenin öğeleri virgülle ayrılır ve köşeli parantez içine alınır), bu şöyle görünür.
Bu bölüm, listeler ve demetler dahil olmak üzere tüm dizilerde ortak olan bazı işlemlerle başlar. Bu işlemler, bazı örneklerde kullanılacak olan dizelerle de çalışacaktır, ancak dize işlemlerinin tam olarak işlenmesi için bir sonraki bölüme kadar beklemeniz gerekir.
Bu temelleri hallettikten sonra, listelerle çalışmaya başlar ve onları neyin özel kıldığını görürüz. Listelerden sonra, listelere çok benzeyen ancak değiştiremeyeceğiniz tuple’lara geliyoruz.
■Not : Python’un, temel olarak diğer nesneleri içerebilen herhangi bir nesne olan kapsayıcı adı verilen bir veri yapısı türü hakkında temel bir fikri vardır. İki ana kapsayıcı türü, diziler (listeler ve demetler gibi) ve eşlemelerdir (sözlükler gibi). Bir dizinin öğeleri numaralandırılırken, eşlemedeki her öğenin bir adı vardır (anahtar olarak da adlandırılır). Eşlemeler hakkında daha fazla bilgi edinirsiniz. Ne dizi ne de eşleme olmayan kapsayıcı türü örneği için kümeler tartışmasına bakın.
Ortak Dizi İşlemleri
Tüm dizi türleriyle yapabileceğiniz belirli şeyler vardır. Bu işlemler arasında indeksleme, dilimleme, ekleme, çarpma ve üyelik kontrolü yer alır. Ek olarak Python, bir dizinin uzunluğunu ve en büyük ve en küçük öğelerini bulmak için yerleşik işlevlere sahiptir.
■Not : Burada ele alınmayan önemli bir işlem yinelemedir. Bir dizi üzerinde yineleme yapmak, dizideki öğe başına bir kez olmak üzere belirli eylemleri tekrar tekrar gerçekleştirmek anlamına gelir.
Python liste Fonksiyonları
Python Liste elemanlarını yazdırma
Python listenin son elemanı
Python liste oluşturma
Python liste içinde liste
Python kullanıcıdan liste alma
Python boş liste oluşturma
Python liste index bulma
İndeksleme
Bir dizideki tüm öğeler sıfırdan yukarıya doğru numaralandırılır. Bunlara, bunun gibi bir numara ile bireysel olarak erişebilirsiniz.
■Not : Bir dize yalnızca bir karakter dizisidir. 0 indeksi ilk öğeyi, bu durumda H harfini ifade eder.
Buna dizin oluşturma denir; bir öğeyi getirmek için bir dizin kullanırsınız. Tüm diziler bu şekilde indekslenebilir. Negatif bir indeks kullandığınızda, Python sağdan, yani son elemandan sayar. Son eleman -1 konumunda (ilk elemanla aynı olacağı için -0 değil).
Dize hazır değerleri (ve bu konuda diğer sıra değişmezleri), onlara atıfta bulunmak için bir değişken kullanılmadan doğrudan dizine eklenebilir. Etki tamamen aynıdır.
Dilimleme
Tek tek öğelere erişmek için indekslemeyi kullandığınız gibi, öğe aralıklarına erişmek için dilimlemeyi kullanabilirsiniz. Bunu, iki nokta üst üste ile ayrılmış iki dizin kullanarak yaparsınız.
Gördüğünüz gibi dilimleme, bir dizinin parçalarını çıkarmak için çok kullanışlıdır. Buradaki numaralandırma çok önemlidir. İlk dizin, dahil etmek istediğiniz ilk öğenin numarasıdır. Ancak, son dizin, diliminizden sonraki ilk öğenin numarasıdır. Aşağıdakileri göz önünde bulundur.
Diyelim ki sayıların son üç öğesine (önceki örnekten) erişmek istiyorsunuz. Açıkça yapabilirsiniz elbette. Tam olarak istenen sonuç değil. Aslında, bir dilimdeki en soldaki dizin dizide ikinciden daha sonra geldiğinde (bu durumda, sondan üçüncü dizin birinciden sonra gelir), sonuç her zaman boş bir dizidir. Neyse ki, bir kısayol kullanabilirsiniz: Dilim dizinin sonuna kadar devam ederse, son dizini atlayabilirsiniz.
Dilimlerken, dilimin başlangıç ve bitiş noktalarını (açıkça veya dolaylı olarak) belirtirsiniz. Normalde örtük bırakılan başka bir parametre (Python 2.3’teki yerleşik türlere eklenir) adım uzunluğudur. Normal bir dilimde, adım uzunluğu birdir; dilim bir öğeden diğerine “hareket eder” ve başlangıç ile bitiş arasındaki tüm öğeleri döndürür.
Bu örnekte, dilimin başka bir sayı içerdiğini görebilirsiniz. Bu, tahmin etmiş olabileceğiniz gibi, açıklığa kavuşturulmuş adım boyutudur. Adım boyutu birden büyük bir sayıya ayarlanırsa öğeler atlanır. Örneğin, iki adım boyutu yalnızca başlangıç ve bitiş arasındaki aralığın diğer tüm öğelerini içerecektir.
Burada işleri yoluna koymak biraz düşünmeyi gerektirebilir. Gördüğünüz gibi, ilk sınır (en soldaki) hala kapsayıcı, ikincisi (en sağdaki) ise dışlayıcıdır. Negatif bir adım boyutu kullanırken, ikinciden daha yüksek bir birinci limitiniz (başlangıç indeksi) olmalıdır.
Biraz kafa karıştırıcı olabilecek şey, başlangıç ve bitiş indekslerini kapalı bıraktığınızda, Python’un burada “doğru olanı” yapmasıdır; pozitif bir adım boyutu için baştan sona doğru hareket eder ve negatif bir adım boyutu için sondan başlangıca doğru hareket eder.
Python boş liste oluşturma Python kullanıcıdan liste alma Python Liste elemanlarını yazdırma Python liste Fonksiyonları Python liste içinde liste Python liste index bulma Python liste oluşturma Python listenin son elemanı