Listelerle birlikte kullanabileceğimiz başka bir metot da budur. Görevi ise liste içinde bir öğenin kaç kez geçtiğini söylemektir:
Buraya kadar listeleri nasıl yöneteceğimizi; yani:
Bunların yanısıra Pythonun liste öğelerini kendi içinde sıralama mantığını da öğrendik. Buna göre unutmamamız gereken şey; Pythonun liste öğelerini saymaya 0dan başladığı. İsterseniz bu mantık üzerine bazı çalışmalar yapalım. Örneğin şunlara bir bakalım:
Bu komut listenin ilk yani 0ıncı öğesini ekrana yazdıracaktır. Dikkat edin, yine köşeli parantez kullandık.
Peki, listedeki son öğeyi çağırmak istersek ne yapacağız? Eğer listemizde kaç tane öğe olduğunu bilmiyorsak ve len() komutuyla bunu öğrenmeyecek kadar tembelsek şu komutu kullanacağız:
Tabii ki siz len(liste) komutu verip önce listenin uzunluğunu da öğrenebilirsiniz. Buna göre, Python saymaya 0dan başladığı için, çıkan sayının bir eksiği listenin son öğesinin sırasını verecektir. Yani eğer len(liste) komutunun çıktısı 5 ise, listedeki son öğeyi:
komutuyla da çağırabilirsiniz...
Olur ya, eğer kulağınızı tersten göstermek isterseniz len(liste) komutuyla bulduğunuz sayıyı eksiye dönüştürüp listenin ilk öğesini de çağırabilirsiniz. Yani, eğer len(liste) komutunun çıktısı 5 ise:
komutu size ilk öğeyi verecektir, tıpkı liste[0] komutunun yaptığı gibi...
Python bize bu mantık üzerinden başka olanaklar da tanıyor. Mesela tanımladığımız bir listedeki öğelerin tamamını değil de yalnızca 2. ve 3. öğeleri görmek istersek şu komuttan faydalanıyoruz (saymaya 0dan başlıyoruz):
Gördüğünüz gibi, yukarıdaki komutta birinci sayı dâhil, ikinci sayı hariç olacak şekilde bu ikisi arasındaki öğeler listelenecektir. Yani liste[2:4] komutu listedeki 2. ve 3. öğeleri yazdıracaktır.
Eğer : işaretinden önce veya sonra herhangi bir sayı belirlemezseniz Python varsayılan olarak oraya ilk veya son öğeyi koyacaktır:
komutu şu komutla aynıdır:
Aynı şekilde;
komutu da şu komutla aynıdır (Listenin 5 öğeli olduğunu varsayarsak):
Bu yöntemlerle listeye yeni öğe yerleştirmek, listeden öğe silmek, vb. de mümkündür. Yani yukarıda metotlar yardımıyla yaptığımız işlemleri başka bir şekilde de yapabilmiş oluyoruz. Önce temiz bir liste oluşturalım:
Bu listenin en sonuna bir veya birden fazla öğe eklemek için (append() metoduna benzer şekilde...)
komutunu kullanıyoruz.
Hatırlarsanız, append() metoduyla listeye yalnızca bir adet öğe ekleyebiliyorduk. Yukarıdaki yöntem yardımıyla birden fazla öğe de ekleyebiliyoruz listeye.
Bu listenin 3. sırasına bir veya birden fazla öğe yerleştirmek için şu komutu kullanabiliriz (insert() metoduna benzer şekilde.)
Bu listenin 2. sırasındaki öğeyi silmek için ise şu komutu(remove() metoduna benzer şekilde...)
Bu listenin 2. sırasındaki öğeyi silip yerine bir veya birden fazla öğe eklemek için:
Bu listenin 2. sırasındaki öğeyi silip yerine bir veya birden fazla öğeye sahip bir liste yerleştirmek için de şöyle bir şey yazıyoruz:
Hangi işlemi yapmak için nasıl bir sayı dizilimi kullandığımıza dikkat edin. Bu komutlar başlangıçta biraz karışık gelebilir. Ama eğer yeterince örnek yaparsanız bu komutları karıştırmadan uygulamayı öğrenebilirsiniz.
Artık listeler konusunu burada noktalayıp demetler (tuples) konusuna geçebiliriz...
Kod:
>>> liste.count("Prekazi")
Buraya kadar listeleri nasıl yöneteceğimizi; yani:
- Nasıl liste oluşturacağımızı - - liste = []
- bu listeye nasıl yeni öğeler ekleyeceğimizi - - liste.append(), liste.insert()
- listemizi nasıl genişleteceğimizi - - liste.extend()
- eklediğimiz öğeleri nasıl çıkaracağımızı - - liste.remove(), liste.pop()
- liste içindeki öğelerin sırasını bulmayı - - liste.index()
- öğeleri abc sırasına dizmeyi - - liste.sort()
- öğelerin sırasını ters çevirmeyi - - liste.reverse()
- listedeki öğelerin liste içinde kaç kez geçtiğini bulmayı - - liste.count()
Bunların yanısıra Pythonun liste öğelerini kendi içinde sıralama mantığını da öğrendik. Buna göre unutmamamız gereken şey; Pythonun liste öğelerini saymaya 0dan başladığı. İsterseniz bu mantık üzerine bazı çalışmalar yapalım. Örneğin şunlara bir bakalım:
Kod:
>>> liste[0]
Bu komut listenin ilk yani 0ıncı öğesini ekrana yazdıracaktır. Dikkat edin, yine köşeli parantez kullandık.
Peki, listedeki son öğeyi çağırmak istersek ne yapacağız? Eğer listemizde kaç tane öğe olduğunu bilmiyorsak ve len() komutuyla bunu öğrenmeyecek kadar tembelsek şu komutu kullanacağız:
Kod:
>>> liste[-1]
Tabii ki siz len(liste) komutu verip önce listenin uzunluğunu da öğrenebilirsiniz. Buna göre, Python saymaya 0dan başladığı için, çıkan sayının bir eksiği listenin son öğesinin sırasını verecektir. Yani eğer len(liste) komutunun çıktısı 5 ise, listedeki son öğeyi:
Kod:
>>> liste[4]
komutuyla da çağırabilirsiniz...
Olur ya, eğer kulağınızı tersten göstermek isterseniz len(liste) komutuyla bulduğunuz sayıyı eksiye dönüştürüp listenin ilk öğesini de çağırabilirsiniz. Yani, eğer len(liste) komutunun çıktısı 5 ise:
Kod:
>>> liste[-5]
komutu size ilk öğeyi verecektir, tıpkı liste[0] komutunun yaptığı gibi...
Python bize bu mantık üzerinden başka olanaklar da tanıyor. Mesela tanımladığımız bir listedeki öğelerin tamamını değil de yalnızca 2. ve 3. öğeleri görmek istersek şu komuttan faydalanıyoruz (saymaya 0dan başlıyoruz):
Kod:
>>> liste[2:4]
Gördüğünüz gibi, yukarıdaki komutta birinci sayı dâhil, ikinci sayı hariç olacak şekilde bu ikisi arasındaki öğeler listelenecektir. Yani liste[2:4] komutu listedeki 2. ve 3. öğeleri yazdıracaktır.
Eğer : işaretinden önce veya sonra herhangi bir sayı belirlemezseniz Python varsayılan olarak oraya ilk veya son öğeyi koyacaktır:
Kod:
>>> liste[:3]
komutu şu komutla aynıdır:
Kod:
>>> liste[0:3]
Aynı şekilde;
Kod:
>>> liste[0:]
komutu da şu komutla aynıdır (Listenin 5 öğeli olduğunu varsayarsak):
Kod:
>>> liste[0:5]
Bu yöntemlerle listeye yeni öğe yerleştirmek, listeden öğe silmek, vb. de mümkündür. Yani yukarıda metotlar yardımıyla yaptığımız işlemleri başka bir şekilde de yapabilmiş oluyoruz. Önce temiz bir liste oluşturalım:
Kod:
>>> liste = ["elma", "armut", "kiraz", "karpuz", "kavun"]
Bu listenin en sonuna bir veya birden fazla öğe eklemek için (append() metoduna benzer şekilde...)
Kod:
>>> liste[5:5] = ["domates", "salata"]
komutunu kullanıyoruz.
Hatırlarsanız, append() metoduyla listeye yalnızca bir adet öğe ekleyebiliyorduk. Yukarıdaki yöntem yardımıyla birden fazla öğe de ekleyebiliyoruz listeye.
Bu listenin 3. sırasına bir veya birden fazla öğe yerleştirmek için şu komutu kullanabiliriz (insert() metoduna benzer şekilde.)
Kod:
>>> liste[3:3] = ["kebap", "lahmacun"]
Bu listenin 2. sırasındaki öğeyi silmek için ise şu komutu(remove() metoduna benzer şekilde...)
Kod:
>>> liste[2:3] = []
Bu listenin 2. sırasındaki öğeyi silip yerine bir veya birden fazla öğe eklemek için:
Kod:
>>> liste[2:3] = ["nane", "limon"]
Bu listenin 2. sırasındaki öğeyi silip yerine bir veya birden fazla öğeye sahip bir liste yerleştirmek için de şöyle bir şey yazıyoruz:
Kod:
>>> liste[2] = ["ruj", "maskara", "rimel"]
Hangi işlemi yapmak için nasıl bir sayı dizilimi kullandığımıza dikkat edin. Bu komutlar başlangıçta biraz karışık gelebilir. Ama eğer yeterince örnek yaparsanız bu komutları karıştırmadan uygulamayı öğrenebilirsiniz.
Artık listeler konusunu burada noktalayıp demetler (tuples) konusuna geçebiliriz...
