Liste
<isim> liste adını ifade etmekte.
Bu veri yapısı, sıralı elemanlardan oluşan bir koleksiyon tutar. Liste içindeki elemanlar ekleme sırasına göre saklanır ve aynı eleman birden fazla kez bulunabilir.
Bazı komutlar:
1. Lpush <isim>
eleman1 eleman2 eleman3… <isim>’li listeye eleman attık, liste yoksa yaratıldı. LPush komutuyla sonradan en başa elemanda eklenir. L left(sol) demek yani soldan eleman ekler. Rpush’da aynı işi yapmakta ama bu sefer elemanlar sağdan (sondan) eklenir. R right(sağ) demek.
NOT: Lpush sondaki eleman ilk eklenir. Yani eleman3 listenin başında olacaktır. Rpush’da ise son eleman en sonda olacaktır. İnsana en alışık liste yaratma şekli RPush'tur.
2. Lrange <isim> <başlangıç indexi> (0 ilk elemandır.) <bitiş indexi>
<isim>’li listeyi başlangıçtan sona doğru sıraladık
a) Bitiş index’i -1 olursa tüm listeyi sıralar
b) Listeye baştan değil sondan başlamak istersek Lrange <isim> -2 -1 şeklinde kullanabiliriz. Bu örnek, son 2 elemanı getirir.
Öğrendiklerimizi Uygulayalım:
Lpush listem 3 5 7 11 14
Lrange listem 3 4
Lpush listem 21
Yukarıdaki kod, listem isimli bir liste yaratır. Sonrasında 3. Ve 4. İndeksli elemanı ekrana yazdırır. Listenin şuan ki şekli: [14,11,7,5,3]
Çıktı:
[5, 3]
Sonraki komutta ise listenin son hali:
[21, 14, 11, 7, 5, 3] olmuştur.
3. Lpop <isim>
en baştaki elemanı, Rpop <isim> ise en sondaki elemanı silecektir. Ayrıca Lpop ve Rpop ile birden fazla öğeyi çıkarabilirsiniz.
Örneğin Lpop <isim>
2 baştan iki elemanı listeden çıkarır
4. Llen <isim>
bir listenin kaç elemanı olduğunu gösterir
5. Lindex <isim> <sayı>
listede, belirtilen sayıda hangi eleman var onu gösterir.
Öğrendiklerimizi Uygulayalım
Rpush listem2 5 10 15 1 2 3
(liste [5,10,15,1] halinde)
Rpop listem2
(listenin son 3 elemanını sildik. Yeni liste [5,10,15])
Llen listem2
(listenin kaç elemanlı olduğunu söyledi. Çıktı: 3)
Lset listem2 2 4
listem2 için 2. İndex’teki değer, 4 değeri değiştirildi. (Yeni liste [5,10, 4])
Lindex listem2 2
2. İndekste hangi değer var kontrol etti. (Çıktı:4)
6. Lpushx <isim> <değer>
(x: if the key not exist demek) liste boşsa veya eklenen değer zaten listede mevcutsa değeri eklemez. Ama liste var ise ve eklenecek değer listede yoksa değeri ekler.
7. Linsert <isim> <before yada after> <pivot değer> <değer>
pivot değerden önce(before) veya sonra(after) bir değer ekler
Öğrendiklerimizi uygulayalım:
LPush listem3 “a” “b” “c” “d”
(Liste: [d,c,b,a]
LPushx listem3 “d”
(Liste değişmedi)
Lpushx listem3 “e”
(listeye eleman eklendi [e,a,b,c,d]
Linsert listem3 after “d” after “f”
(listeye eleman eklendi [e,a,b,c,d,f]
Last updated