makaleler / Python Kütüphaneleri / python listeler (List)

python listeler (List)

01.02.2011 13:29:41

python listeler (List)

listeler php'deki yada delphi'deki dizi(array) lara benzetebiliriz.

Listenin tanımlanması
$ipython
>>> liste = ["a", "b", "pythontr", "z", "husonet"]	#(1)
>>> liste
['a', 'b', 'pythontr', 'z', 'husonet']
>>> liste[0]						#(2)
'a'
>>> liste[4]						#(3)
'husonet'


(1) : liste adında 4 elamanlı bir liste tanımlıyoruz.
(2) : liste ncı elemanın değerine erişim sağlıyoruz değeri 'a'.
(3) : liste ncü elemanın değerine erişim sağlıyoruz değeri 'husonet'.

Bir listeyi dilimleme
>>> liste
["a", "b", "pythontr", "z", "husonet"]
>>> liste[1:3]						#(1)
['b', 'pythontr']
>>> liste[1:-1]						#(2)
['b', 'pythontr', 'z']
>>> liste[0:3]						#(3)
['a', 'b', 'pythontr']


(1) : liste listenin 1 den başlayıp ilk 3 uncu elemanına kadar olan kısmı alır. 3 ncu elemanı dahil değildir.
(2) : liste listenin 1 nci elamanından başlayıp sondan -1 nci elamanına kadar olan kısmı teşkil eder.
(3) : liste listenin 0 elamınından başlayıp ilk 3 ncu elamanına kadar olan kısımdır. 3 ncu elamanı dahil değildir.


Bir listeyi dilimleme tek taraflı
>>> liste
['a', 'b', 'pythontr', 'z', 'husonet']
>>> liste[:3]						#(1)
['a', 'b', 'pythontr']
>>> liste[3:]						#(2)
['z', 'husonet']
>>> liste[:]						#(3)
['a', 'b', 'pythontr', 'z', 'husonet']


(1) :liste 0'ncı eleman ilk 3 ncü elemanına kadar olan kısımdır 3 ncü eleman dahil değildir.
(2) :liste 3'ncü eleman dahil dizide var olan son elemana kadar olan kımsı alır
(3) :liste listenin bütün elemanlarını getirir.

Listelere eleman eklemek

>>> liste
['a', 'b', 'pythontr', 'z', 'husonet']
>>> liste.append("yeni")							#(1)
>>> liste
['a', 'b', 'pythontr', 'z', 'husonet', 'yeni']
>>> liste.insert(2, "yeni")							#(2)
>>> liste
['a', 'b', 'yeni', 'pythontr', 'z', 'husonet', 'yeni']
>>> liste.extend(["iki", "eleman"])						#(3)
>>> liste
['a', 'b', 'yeni', 'pythontr', 'z', 'husonet', 'yeni', 'iki', 'eleman']


(1) : append methodu ile bir adet listemize eleman ekliyoruz.
(2) : insert methodu listemizin arasına elaman eklememizi sağlıyor methodun ilk parametresi sıra ikinci parametresi ise veridir.
(3) : extend methodu listemize liste halinde veri eklememize olanak sağlıyor.

extend ve append arasındaki farklı örnekler verelim.
>>> ls = ['a', 'b', 'c']
>>> ls.extend(['d', 'e', 'f'])			#(1)
>>> ls
['a', 'b', 'c', 'd', 'e', 'f']
>>> len(ls)					#(2)
6
>>> ls[-1]
'f'
>>> ls = ['a', 'b', 'c']
>>> ls.append(['d', 'e', 'f'])			#(3)
>>> ls
['a', 'b', 'c', ['d', 'e', 'f']]
>>> len(ls)					#(4)
4
>>> ls[-1]
['d', 'e', 'f']


(1) : extend methodu ile bir listeyi bir listeye ilave ediyoruz.
(2) : len methodu ile extend methodumuzla listemize ilave yaptıktan sonra liste elemanlarının toplamını alıyoruz.
(3) : append methodu ile listemize 1 elamanı liste şeklinde ekliyoruz.
(4) : len methodu ile append methodumuzla eklenen liste şeklinde elemandan sonra farkı görmek için listemizin eleman sayısının toplamını alıyoruz.

Listelerde arama
>>> liste
['a', 'b', 'yeni', 'pythontr', 'z', 'husonet', 'yeni', 'iki', 'eleman']
>>> liste.index("pythontr")							#(1)
3
>>> liste.index("yeni")								#(2)
2
>>> liste.index("delphi")							#(3)
Traceback (innermost last):
File "<interactive input>", line 1, in ?
ValueError: list.index(x): x not in list
>>> "delphi" in liste								#(4)
False



(1) : index methodu ile listeden 'pythontr' değeri aranıyor ve geri dönüş değeri olarak index numarasını veriyor.
(2) : index methodu ile listeden 'yeni' değeri aranıyor ve geri dönüş değeri olarak ilk bulduğu değerin index numarasını veriyor.
(3) : index methodu ile listeden 'delphi' değeri aranıyor listemizde olmadığı için hata mesajı dönüyor
(4) : "delphi" in liste sorgulaması ile liste de değerin varolup olmadığını sorguluyoruz true yada false şeklinde değer döndürüyor.

Listelerden eleman silmek.
>>> liste
['a', 'b', 'yeni', 'pythontr', 'z', 'husonet', 'yeni', 'iki', 'eleman']
>>> liste.remove("z")							#(1)
>>> liste
['a', 'b', 'yeni', 'pythontr', 'husonet', 'yeni', 'iki', 'eleman']
>>> liste.remove("yeni")						#(2)
>>> liste
['a', 'b', 'pythontr', 'husonet', 'yeni', 'iki', 'eleman']
>>> liste.remove("deneme")						#(3)
>>> li.remove("c")
Traceback (innermost last):
File "<interactive input>", line 1, in ?
ValueError: list.remove(x): x not in list
>>> liste.pop()								#(4)	
'eleman'
>>> liste
['a', 'b', 'pythontr', 'husonet', 'yeni', 'iki']
>>> liste.pop(1)							#(5)	
'b'
>>> liste
['a', 'pythontr', 'husonet', 'yeni', 'iki']


(1) : remove methodu ile listemizden "z" elemanını siliyoruz.
(2) : remove methodu ile listemizden "yeni" elamanını siliyoruz. Dikkat edersiniz iki adet yeni elemanı var ilk olanı siliyor.
(3) : remove methodu ile listede yer almayan bir eleman silme işlemi yapılmaya çalışıyor bu sebepten hataya düşüyor.
(4) : pop methodu ile listenin son elemanı siliniyor. Tek farkı silinen elamanı döndürüyor.
(5) : pop(1) methodu ile 1 indexli eleman silinir ve silinen eleman döndürülür.

Listeler ve Operatorler
>>> liste = ['a', 'b', 'c']
>>> liste = liste + ['d', 'e'] 		#(1)
>>> liste
['a', 'b', 'c', 'd', 'e']
>>> liste += ['f']			#(2)
>>> liste
['a', 'b', 'c', 'd', 'e', 'f']
>>> liste = ['a', 'b'] * 3		#(3)
>>> liste
['a', 'b', 'a', 'b', 'a', 'b']


(1) : '+' operatörü sayesinde listeye yeni bir liste ekleniyor.
(2) : '+=' operatörü ile listeye yeni bir eleman ekleniyor.
(3) : '*' var olan listenin aynı elemanları 3 le çarpılarak çoğaltılıyor

Listeler Sıralama ve Eleman Sayısı

>>> liste = ['a', 'b', 'yeni', 'pythontr', 'z', 'husonet', 'yeni', 'iki', 'eleman']
>>> liste.sort()									#(1)
>>> liste
['a', 'b', 'eleman', 'husonet', 'iki', 'pythontr', 'yeni', 'yeni', 'z']
>>> liste.reverse()									#(2)
>>> liste
['z', 'yeni', 'yeni', 'pythontr', 'iki', 'husonet', 'eleman', 'b', 'a']
>>> liste.count('yeni')									#(3)
2


(1) : sort methodu listeyi sıralama işlemi yapar.
(2) : reverse methodu listeyi tersten sıralar.
(3) : count methodu aldığı parametrenin listede kaç adet olduğunu döndürür.


ilgili konular
python da sözlükler (Dictionaries)
python listeler (list)
python demetler (Tuples)
python değişkenler tanımlanması(Declaring variables)
python listeleri haritalama, filtreleme, azaltma
python listelerde matrisler
yazar husonet

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda