Merhaba Python Listeler yazısını okuyan ziyaretçi! :)

Önceki yazımda String işlemlerini ve len() fonksiyonunu anlatmıştım.
Bu yazının çok uzun olmayacağı ümidiyle besleniyorum şu an, gecenin 3'ünde yazıyorum bu yazıyı. Günler çuvala girdi, fonda Sezen Aksu :) Bu yazıyı kaçta okuyacaksın bilmiyorum ama uykulu gözlerin biraz altındaki omuzlardan gelen POST isteği sayesinde parmaklarım hareket ediyor :) Aslında istek beyincikten geliyor dimi? Beyin komut veriyor; beyincik komutu omuzlara, sonra parmaklara iletiyor. Hareket ediyor parmaklar, öyle mi? Öyleyse mükemmel bir algoritma..

Aslında ben bir şeyler karalamayı seviyorum. Şiirler yazarım bazen, bazen parmaklarımı klavyeye bırakır öylece aklımdan geçenleri yazarım, olur olmadık yerlere. Bu yazımda sanırım parmaklarımın listeleri anlatması gerekiyordu. Oysa parmaklarım bambaşka şeylerle meşgul :)


Matematik önemli ziyaretçi! Kümeleri bilir misin? Listeleri tanımlamak için o kümeleri kullanacağım, çünkü aynı şeyler :)


Liste oluşturmak ve Listeyi yazdırmak

Python'da listeler; farklı türden (string, integer gibi) verileri barındırmak için kullanılır. Bir liste tanımlayarak örnek üzerinde anlatayım.
liste = ['Hacker Adana', 'hackeradana.org', 2, 0, 1, 8]
Değişken belirlemekten tek farkı, köşeli parantezler kullanmak. Bunun yerine süslü parantezde kullanabilirsin.

Listemizin elemanlarını, print() kullanarak ekrana yazdıralım.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> liste = ['Hacker Adana', 'hackeradana.org', 2, 0, 1, 8]
>>> print (liste)
['Hacker Adana', 'hackeradana.org', 2, 0, 1, 8]
>>> type(liste[2])
<class 'int'>
>>> 
type() fonksiyonunu önceki yazılarımda anlatmıştım, hatırladın mı? Hayır mı? Al kendini buraya.
Son komut ile liste'mizin ikinci değerinin formatını öğrenmiş olduk. ikinci değer hangisiydi? hackeradana.org mu? Evet mi? Aa! Unutmuşsun bile! İkinci değerimiz listemizdeki 2 sayısı! Saymaya sıfırdan başlıyoruz, unutma! Hayır dediysen kusura bakma :)


Listeye Veri Eklemek

Bir liste oluşturup sonradan değer eklemek isteyebilirsin. Hatırlarsan, String olan bir değişkene (+=) operatörü ile veri ekleyebiliyorduk.Listelere veri eklemek için append() kullanırız.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> liste = ['Hacker Adana', 'hackeradana.org', 2, 0, 1, 8]
>>> liste.append('dersler.hackeradana.org')
>>> print (liste)
['Hacker Adana', 'hackeradana.org', 2, 0, 1, 8, 'dersler.hackeradana.org']
>>> liste.extend(['Anarşist Yazılımcı', 'Dark Coder', 2012])
>>> print (liste)
['Hacker Adana', 'hackeradana.org', 2, 0, 1, 8, 'dersler.hackeradana.org', 'Anarşist Yazılımcı', 'Dark Coder', 2012]
>>> 
Her satırı tek tek ele alalım.
  • İlk satırda liste isminde liste tanımladım ve değerler atadım.
  • İkinci satırda ise append() ile oluşturduğum listeye değer ekledim.
  • Üçüncü satırda liste adındaki listenin değerlerini yazdırdım.
  • Dördüncü satırda, extend() ile birden fazla değer ekledim. Dikkat etmen gereken nokta parantez içinde, liste belirlemek için kullandığım köşeli parantezleri kullandım. Parantezden sonra köşeli parantez kullanmadığında hata alırsın.
  • Beşinci satırda, liste ismindeki listeyi ekrana yazdırdım.
Özetle; tek bir değer eklemek istediğinde append(), birden fazla değer eklemek istediğinde extend() kullanmalısın.


Listedeki değeri değiştirmek

Eklediğiniz bir değeri değiştirmek isteyebilirsin. Bu oldukça normaldir ve bazen elzemdir. Yeni bir liste oluşturalım ve listenin adını i koyalım.
i = ['Adana', 'Ankara', 'Afyonkarahisar', 'Antalya']

Listemizin ilk elemanı Adana ve 0. sırada. Adana elemanını Istanbul olarak değiştirelim.
i[0] = 'Istanbul'
Listemizin adını en başa yazdık. Hemen yanına köşeli parantez ile elemanımızın kaçıncı sırada olduğunu belirttik ve yeni değerimizi ekledik.

Listemizin ilk satırındaki Adana değişkeni Istanbul olarak değiştirildi.

Toplu değer değiştirmelerini şu şekilde yapıyoruz.
i[1:2] = ['Erzurum', 'Trabzon']
Birinci ve ikinci değerleri Erzurum ve Trabzon olarak değiştirmiş oldum. Birinci değerimiz Ankara, unutma! Sık sık uyarıyorum ama çok karıştırılıyormuş bunlar.


Listedeki değeri silmek

Listeye eklediğimiz değeri silmek çok kolay :)  Yeni bir liste oluşturalım.
x = ['A', 'Z', '1', '2', '+', '-']

del() ile silmek

Listenin belirli bir sırasını silmek için del() kullanırız. Listenin içeriğini bilmek zorunda değiliz.
del (x[0])
Seninde anladığın gibi az önce oluşturduğum x listesinin ilk değerini, yani A değerini sildim.

1 ve 2 değerini silelim bir de.
del (x[1:3])

Listemize bakalım.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> x = ['A', 'Z', '1', '2', '+', '-']
>>> del (x[0])
>>> del (x[1:3])
>>> print (x)
['Z', '+', '-']
>>> 

remove() ile silmek

Listedeki silmek istediğimiz veriyi biliyorsak ve sırasını önemsemiyorsak remove() kullanırız.
x.remove('Z')
Listemizde 3 değer kaldı ve biz x.remove('Z') ile Z değerini silmiş olduk.


Listenin tamamını silmek

Oluşturduğumuz listenin tüm değerini silmek çok kolay.

x.clear()
print (x) dediğimizde boş bir liste çıktısı alacağız.
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "copyright", "credits" or "license()" for more information.
>>> x.clear()
>>>print (x)
[]
>>> 


Python'da listeler konusu bu kadar :) Listeleri bol bol kullanacağız sonraki konularda. Anlamadığın yer olursa sormaktan çekinme! Ve geri bildirimde bulunmayı unutma!
HackerAdana@Protonmail.com