Python’da Listeler

Liste Oluşturma

Bir değişkende birçok öğeyi saklamak için kullanılan yapılara liste denir. Listelere ait öğeler [ ] (köşeli parantez) içerisine yazılırlar. Eğer yazılacak öğe string ise ” ” (tırnak işareti) arasına yazılır. Öğeleri birbirinden ayırmak için virgül kullanılır. Basit bir liste aşağıdaki gibi tanımlanabilir:

names = [“Ahmet”, “Mehmet” , “Ali”, “Ayşe”]

Listenin içerisindeki öğelere erişmek mümkündür. Bunun için her bir öğenin indeks numarasının kullanması gerekir. İndeks numarası 0’dan başlayarak öğe sayısı kadar aritmetik olarak devam eder. Listeler tamsayı, dize ve nesne gibi veri türlerinden oluşabilirler. Aynı zamanda listeler sıralı ve değiştirilebilirlerdir.

example_list = [1,2,3,”Adnan”, [1,2,3]]

example_list[2] yazarsak 2 indeks numarasına sahip öğe çıktı olarak gözükür. Bu da 3 öğesidir. Python’da listelerin içerisindeki öğelere negatif indisler kullanılarakta erişilebilir. Örnek olarak example_list[-1] yazılırsa, en son öğe olan [1,2,3] öğesine erişilir.

Listeye Öğe Ekleme

Listeye öğe eklenildiğinde, eklenilen öğe listenin sonuna yazılır. Eğer listeye öğe eklemek istenilirse  .append() fonksiyonu kullanılabilir.

INPUT:

example_list = [1,2,3,"Adnan", [1,2,3]]
example_list.append(4)
example_list

OUTPUT:

[1, 2, 3, 'Adnan', [1, 2, 3], 4]

 

Yukarıdaki kod bloğunda yapılan işlemle listeye 4 elemanı eklendi. Listeler içerisindeki öğelerin değiştirilebileceği söylenmişti. Bu değişikliği yapmak için değiştirilmek istenen öğenin indeks numarasının kullanılması gerekir. Örnek olarak 1 öğesinin yerine 0 yazılsın.

INPUT:

example_list[0] = 0
example_list

OUTPUT:

[0, 2, 3, 'Adnan', [1, 2, 3], 4]

 

Liste Uzunluğunu Bulma

Listenin içerisindeki eleman sayısı listenin uzunluğunu verir. Listenin içerisindeki eleman sayısını bulmak için len() fonksiyonu kullanılır.

INPUT:

len(example_list)

OUTPUT:

6
 

.append() ile eklenilecek öğe listenin sonuna eklenir. Eklenilen öğenin konumunu kendiniz belirlemek istiyorsanız insert() fonksiyonunu kullanabilirsiniz. Bu fonksiyon insert(konum,değer) şeklinde kullanılır.

INPUT:

example_list.insert(0, "pi404")
example_list 

OUTPUT:

['pi404', 0, 2, 3, 'Adnan', [1, 2, 3], 4]

 

Bu iki ekleme fonksiyonun yanı sıra extend() fonksiyonu da listeye öğe eklemek için kullanılabilir. Bu fonksiyonun diğerlerinden farkı ise birden çok öğeyi listeye ekleyebiliyor olmasıdır.

INPUT:

example_list.extend([7,8,9])
example_list

OUTPUT:

['pi404', 0, 2, 3, 'Adnan', [1, 2, 3], 4, 7, 8, 9]

 
 

Listeden Öğe Çıkarma

Burada kadar gösterilenler listeye öğe eklemek için kullanılan fonksiyonlardı. Şimdi ise bir listeden öğe çıkarmak için kullanılan fonksiyonlardan bahsedelim. remove() fonksiyonu içerisine yazılan tek bir öğeyi listeden kaldırır.

INPUT:

example_list.remove(7)
example_list

OUTPUT:

['pi404', 0, 2, 3, 'Adnan', [1, 2, 3], 4, 8, 9]
 

Eğer listeden aynı öğeden birden fazla var ise ve bu öğe üzerinde remove() fonksiyonu kullanılırsa, indeks numarası önce olan öğe silinir. Aynı olan diğer öğeler ise listede durmaya devam eder.

INPUT:

example_list2 = [1,2,3,4,2]
example_list2.remove(2)
example_list2

OUTPUT:

[1, 3, 4, 2]

 

Bu fonksiyona benzer olarak pop() ve del fonksiyonlarıda kullanılabilir. pop() fonksiyonu kaldırılmak istenen öğenin  indeks numarası kullanılmalıdır. Örnek olarak

INPUT:

example_list.pop(2)
del   example_list[3]
example_list

OUTPUT:

['pi404', 0, 3, [1, 2, 3], 4, 8, 9]
 

Listenin içerisindeki tüm öğeleri silmek için clear() metodu kullanılabilir.

INPUT:

example_list2.clear()
example_list2

OUTPUT:

[]
 

Listelerde Kullanılan Başlıca Fonksiyonlar

index() Fonksiyonu

index() fonksiyonu liste içerisindeki bir öğrenin indeks numarasını öğrenmek için kullanılır. Örnek olarak,

INPUT:

example_list.index([1,2,3])

OUTPUT:

3
 
count() Fonksiyonu

Liste içerisindeki bir öğeden kaç adet olduğunu öğrenmek için count() fonksiyonu kullanılabilir.

INPUT:

example_list3 = ["a","a","a","a","a","a","b","c","d"]
example_list3.count("a")

OUTPUT:

6
 
sort() Fonksiyonu

Liste içerisindeki öğeleri küçükten büyüğe doğru sıralamak için sort() fonksiyonu kullanılabilir.

INPUT:

example_list4 = [5,8,14,7,6,9]
example_list4.sort()
example_list4

OUTPUT:

[5, 6, 7, 8, 9, 14]
 

Burada liste içerisindeki öğelerin hepsi ya dizelerden ya da sayılardan oluşmalıdır. Eğer dize ve sayılar birlikte olduğu bir listede sort() fonksiyonu kullanılırsa hata alınır.

INPUT:

example_list5 = ["Ali", 5]
example_list5.sort()
example_list5

OUTPUT:

----------------------------------------------------------------
TypeError         Traceback (most recent call last) 
<ipython-input-39-e362aaef30e4> in <module>()       
1 example_list5 = ["Ali", 5] 
----> 2 example_list5.sort()      
 3 example_list5 

TypeError: '<' not supported between instances of 'int' and 'str'
 
reverse() Fonksiyonu

Listenin içerisindeki öğeleri tersten yazmak için reverse() fonksiyonu kullanılabilir.

INPUT:

example_list3.reverse()
example_list3

OUTPUT:

['d', 'c', 'b', 'a', 'a', 'a', 'a', 'a', 'a']

 
copy() Fonksiyonu

Oluşturulan bir listenin kopyasını oluşturmak için copy() fonksiyonu kullanılır. Örnek olarak

INPUT:

copyList3 = example_list3.copy()
copyList3

OUTPUT:

['d', 'c', 'b', 'a', 'a', 'a', 'a', 'a', 'a']
 

Liste Oluşturmak için Alternatif Yöntemler

Liste oluşturmak için farklı birkaç yöntem daha kullanılabilir. Örneğin list() fonksiyonu kullanılarak, içerisine yazılan öğelerden bir liste oluşturulabilir.

INPUT:

new_list = list(("pencil","eraser","book", 5))
new_list

OUTPUT:

['pencil', 'eraser', 'book', 5]
 

Bu yöntemin dışında range kullanılarakta liste tanımlamak mümkündür. Örnek olarak:

INPUT:

NewList = [2*x+1 for x in range(10)]
NewList

OUTPUT:

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
 

Liste Dilimleme

Bu bölümde son olarak listelerin dilimlenmesinden ve üyelik testinden bahsedelim. Bir listeyi dilimlemek için a[m:n] ifadesi kullanılabilir. Burada m, dilimlenmeye hangi elemandan başlanılmak isteniyorsa, o elemanın indeks numarasını ifade ederken, n ise dilimlenmenin hangi elemanda son bulması isteniyorsa, o elemanın indeks numarasını ifade eder.

INPUT:

example_list6 = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]
mini_list = example_list6[0:6]
mini_list

OUTPUT:

[0, 1, 2, 3, 4, 5]
 

a[m:n] ifadesini kullanarak liste içindeki elemanlardan yeni bir liste oluşturulabilir. Bu durum bir kümenin, alt kümesi gibi düşünülebilir. Ancak burada dikkat edilmesi gereken husus dilimleme ile oluşturulan yeni listenin içerisinde indeks numarası m olan değer bulunurken, indeks numarası n olan değer bulunmaz. Liste oluşturmanın yanı sıra dilimleme ile listenin birden fazla elemanına ulaşılabilir ve bu elemanlar üzerinde çeşitli işlemler yapabilir.

INPUT:

ListOfEvenNumbers = [ ]  
ListOfOddNumbers = [ ]              
for number in example_list6:      
       if number%2 ==0:
          ListOfEvenNumbers.append(number)
       else:
           ListOfOddNumbers.append(number)  
print("0-15 arasındaki çift sayılar kümesi = {}".format(ListOfEvenNumbers))
print("0-15 arasındaki tek sayılar kümesi = {}".format(ListOfOddNumbers))

OUTPUT:

0-15 arasındaki çift sayılar kümesi = [0, 2, 4, 6, 8, 10, 12, 14] 
0-15 arasındaki tek sayılar kümesi = [1, 3, 5, 7, 9, 11, 13, 15]
 

Eğer a[:] ifadesi kullanılırsa, listenin içerisindeki tüm elemanlar çağrılır. Örnek olarak:

INPUT:

example_list6[:]

OUTPUT:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
 

a[m:n:c] ifadesi liste içerisindeki m ile n arasındaki elemanları c(2 olsaydı,2’şerli atlayarak) atlayarak yeni bir liste olarak geri verir.  Örnek olarak:

INPUT:

example_list6[0:10:2]

OUTPUT:

[0, 2, 4, 6, 8]
 

Ayrıca liste içerisindeki elemanlar tersten yazılmak isteniyorsa, [::-1] ifadesi kullanılabilir. Örnek olarak

INPUT:

example_list6[::-1] 

OUTPUT:

[15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
 

Üyelik Sorgulama

Üyelik sorgulaması ise bir elemanın liste içerisinde olup olmadığını öğrenmek için yapılır. in ve not in operatörlerini kullanarak bu sorgulama gerçekleştirilebilir. in operatörü eğer eleman liste içerisinde ise True, değilse False döndürür. not in operatörü ise eleman liste içinde değilse True, içinde ise False döndürür. Örnek olarak:

INPUT:

5 in example_list6

OUTPUT:

True

INPUT:

16 in example_list6

OUTPUT:

False

INPUT:

20 not in example_list6

OUTPUT:

True

INPUT:

3 not in example_list6

OUPUT:

False
 

Bir sonraki yazıda Python’dan bahsetmeye devam edeceğim.

PYTN2972U5XK85ULZ9

 

Python’da Operatörler, If-Else ve Döngüler

Bu yazıda sizlere karşılaştırma operatörleri, atama operatörleri, mantıksal operatörler ve döngüler gibi konulardan bahsedeceğim.

Karşılaştırma Operatörleri

Karşılaştırma Operatörleri iki değeri karşılaştırmak için kullanılır. Aşağıdaki tabloda karşılaştırma operatörlerini görebilirsiniz.

OperatörlerAdı
==Eşittir
!=Eşit değil
>Büyüktür
<Küçüktür
>=Büyük ya da eşit
<=Küçük ya da eşit

Karşılaştırma işlemleri True ya da False sonuçlarını verir. Yukarıdaki karşılaştırma operatörleri için örnek vermek gerekirse,

INPUT:

4 == 4

OUTPUT:

True

INPUT:

5 == 4

OUTPUT:

False

INPUT:

6 != 1

OUTPUT:

True
INPUT:

4 > 5

OUTPUT:

False

INPUT:

5 >= 2

OUTPUT:

True







-

Atama Operatörleri  

Python’da bir değişkene değer atamak için atama operatörlerini kullanabiliriz. Başlıca atama operatörleri tablodaki gibidir.

OperatörlerÖrnekAçıklama
=x = 8x’e 8’i atar.
+=x += 8x’e 8 ekler.
-=x -= 8x’ten 8 çıkarır.
*=x *= 8x’i 8 ile çarpar.
/=x /= 8x’i 8’e böler.
%=x %= 8x’in 8 ile bölümünden kalanı x’e atar.
//=x //= 8x’in 8’e bölümündeki bölümü, x’e atar.
**=x **= 8x’in 8 üssünü alır ve x’e atar.

Mantıksal Operatörler

OperatörlerAçıklamaKullanımı
andİki ifade doğruysa True döndürür.z>10 and z<20
orİki ifadeden biri doğruysa True döndürür.x>10 or x<11
notMantıksal durumu tersine çevirir. True ise False döndürür.not(x<10 and x<15)

Kimlik Operatörleri

Python’da kimlik operatörleri iki nesnenin bellek konumunu karşılaştırır.

OperatörlerAçıklamaKullanımı
isİki değişken aynı nesneyse True döndürür.x is y
is notİki değişken aynı nesne değilse True döndürür.x is not y

Üyelik Operatörleri

Üyelik operatörleri tuple’lar, string’ler ve listelerde bir nesnenin var olup olmadığını test etmek için kullanılır ve iki tanedir. Bunlar in ve not in’dir. in, belirtilen nesne tuple, string veya listenin içerisindeyse True sonucunu döndürür. not in, ise belirtilen nesnenin tuple, string ve listenin içerisinde değilse True sonucunu döndürür.

INPUT:

List1 = [1,2,3,4,5]

5 in List1

OUTPUT:

True

INPUT:

6 in List1

OUTPUT:

False

INPUT:

6 not in List1

OUTPUT:

True

 

 

 

 

 

 

 

 

 

 

Python’da Döngüler

Python’da çalışırken yineleme içeren işlemler yapabiliriz. Döngülerin amacı, aynı veya benzer kodu birkaç kez tekrarlamak. Bu tekrarlama belirli bir sayı kadar ya da bir koşul sağlanana kadar sürebilir. Python’da iki tane döngü mevcuttur. Bunlar for döngüsü ve while döngüsüdür.

For Döngüsü

For döngüleri, sabit sayıda tekrarlamak istediğimiz bir kod bloğu olduğunda kullanılır. Sırasıyla dizinin her bir elemanı üzerinde (liste, tuple, string, dictionary olabilir) yineleme yaparak her seferinde bloğu çalıştırır. For döngüsü, “range” ve “xrange” işlevlerini kullanarak bir sayı dizisi üzerinde yineleme yapar. range ile xrange arasındaki fark, range belirtilen aralıktaki sayılar ile bir liste döndürmesidir.

INPUT:

for i in range(0,10):
    print(i)

OUTPUT:
0 
1 
2 
3 
4 
5 
6 
7 
8 
9

INPUT:

t = 0
for k in range(100):
    t += k
print(t)


OUTPUT:

4950


INPUT:


people = ["Ahmet","Mehmet","Ali"]
for name1 in people:
  print("Kişi adı = {}".format(name1))


OUTPUT:


Kişi adı = Ahmet 
Kişi adı = Mehmet 
Kişi adı = Ali
INPUT:

for i in "pi404":
     print(i)

OUTPUT:

p 
i 
4 
0 
4

INPUT:

for x in range(3,30,3):  
    print(x) 
#3’den başlayıp 30’a kadar 3’er 3’er 
#artarak değerleri yazar.

OUTPUT:

3 
6 
9 
12 
15 
18 
21 
24 
27

INPUT:

List1 = [1,2,3,4,5]
new_list = []
for employee in List1:
    employee+= 5
    new_list.append(employee) 
new_list 

OUTPUT:

[6, 7, 8, 9, 10]

Break komutu bir for ya da while döngüsünden çıkmak için kullanılırken, continue komutu ise geçerli blogu atlamak için kullanılır.

INPUT:


stuff = ["bardak","kasik","catal","dolab","masa"]
for new_stuff in stuff:
      if new_stuff == "catal":
         print("Döngü bitti")
         break;

         
OUTPUT:

Döngü bitti

 

 

While Döngüsü

Belirli bir koşul gerçekleşene kadar devam eden döngülere while döngüleri denir.

INPUT:

num1 = 3
sumOf = 0
totalSum = 0
while sumOf < 100:
          sumOf = sumOf + num1
          totalSum +=1
print("Toplam = %d" % sumOf)
print("Döngü sayısı = %d" % totalSum)  

OUTPUT:

Toplam = 102 
Döngü sayısı = 34
INPUT:

list1 = [1,2,3,4,5]
i = 0
while list1[i] != 5:
           print("Seçili eleman = ", list1[i])
           i += 1

OUTPUT:


Seçili eleman =  1 
Seçili eleman =  2 
Seçili eleman =  3 
Seçili eleman =  4

For ve while döngülerinde, döngü bitiminde ya da döngü koşulu başarısız olduğunda yapmak istediğimiz bir eylem varsa else komutunu kullanabiliriz. Eğer döngüden break  komutu ile çıkılırsa, else blogu atlanır.

INPUT:

num1 = 10
while num1 > 5:
          num1-= 1
          print(num1)
else:
        print("Sayi 5’ten küçük, döngü sona erdi.")

OUTPUT:

9 
8 
7 
6 
5 
Sayi 5’ten küçük, döngü sona erdi.
 

İç İçe Döngüler

For ve While döngüleri iç içe döngü olarak kullanılabilirler. Ayrıca for döngüsünden oluşan iç içe döngü ve while döngüsünden oluşan  iç içe döngüler de yaratmak mümkündür.

INPUT:

#Çarpım Tablosu
for i in range(1,11):
      k = 1
      print("{} ile çarpım".format(i))
      while k < 11:
                multiply1 = i*k
                print("\n{}x{} = {}".format(i,k, multiply1))
                k = k + 1
      print("--------------------")

OUTPUT:

1 ile çarpım
 
1x1 = 1 , 1x2 = 2 , 1x3 = 3 , 1x4 = 4 , 1x5 = 5 , 1x6 = 6 ,   1x7 = 7 , 1x8 = 8 , 1x9 = 9 , 1x10 = 10 
--------------------
2 ile çarpım 

2x1 = 2 , 2x2 = 4 , 2x3 = 6 , 2x4 = 8 , 2x5 = 10 , 2x6 = 12 , 2x7 = 14 , 2x8 = 16 , 2x9 = 18 , 2x10 = 20 
--------------------

...

-------------------- 
10 ile çarpım 
10x1 = 10 , 10x2 = 20 , 10x3 = 30 , 10x4 = 40 , 10x5 = 50 ,  10x6 = 60 , 10x7 = 70 , 10x8 = 80 , 10x9 = 90 , 10x10 = 100    
--------------------
 

IF-ELSE-ELİF

If-else blokları, programcı tarafından bir bool koşulunun doğru ya da yanlış olmasına göre belirtilen eylemleri gerçekleştirmeye yarayan özelliktir. Kullanımı ise aşağıdaki gibidir:

if (koşul):

       Koşul sağlanırsa çalışacak kodlar

elif (koşul):

       Yukarıdaki koşul sağlanmaz ve  bu koşul sağlanırsa çalışacak kodlar

else:

      Koşullar sağlanmazsa çalışacak kodlar 

 

INPUT:

x = int(input("Lütfen bir değer giriniz : "))
if x > 5:
   print("Girdiğiniz sayı 5’ten büyük")
elif x < 5:
   print("Girdiğiniz sayı 5’ten küçük") 
else:
   print("Girilen sayı 5’tir.")


OUTPUT:

Lütfen bir değer giriniz : 3 
Girdiğiniz sayı 5’ten küçük

INPUT:

num1 = int(input("Lütfen bir sayı giriniz : "))
if num1 %2 == 1:
   print("Girdiğiniz sayı tek sayıdır.")
else:
   print("Girdiğiniz sayi çift sayıdır.")

OUTPUT:

Lütfen bir sayı giriniz : 22 
Girdiğiniz sayi çift sayıdır.

Bir sonraki yazıda Python’dan bahsetmeye devam edeceğim.

PYTNT911Y115N6IC8U