logo
03 TEMMUZ 2025

Python 107 - Liste oluşturma yöntemleri (1)

16.02.2021 00:00:00

Merhabalar,

Son yazımızda birden fazla veriyi list dediğimiz yapıda tutmayı gördük. Listeye eleman ekleme, silme, güncelleme, toplu işlem yapma vs. komutlarını inceledik. Elimizde liste olarak virgülle ayrılmış sayılar vardı. list() fonksiyonu kullanarak pratik listeler de oluşturmak mümkün.

  print(list("armut"))

ifadesi armut taki tüm harfleri peşpeşe bir liste halinde verir: ["a", "r", "m", "u", "t"].

Pythonda sıralı sayıları otomatik olarak üreten range() fonksiyonunu kulanarak da liste oluşturabiliriz:

  print(list(range(4)))
  print(list(range(5,10)))
  print(list(range(5,30,5)))
  • İlk satırda range() fonksiyonuna sadece 1 değer verilmiş, sıfırdan o değere kadar sayıları verir: [0, 1, 2, 3]
  • İki değer verdiğimizde başlangıçtan bitiş harice kadar sayılar: [5, 6, 7, 8, 9]
  • Üç değer verdiğimizde ise artış bildirdiğimizi kabul eder: [5, 10, 15, 20, 25]

List Comprehensions

Pythonda şu düzende özel bir ifade yazarak ta hazır bir listeden yeni bir liste türetebiliyoruz: [özet-formül for değişken in hazır-liste]. Köşeli parantez içindeki sıra önemli : özet-formül, for kelimesi, değişken, in kelimesi, hazır-liste. Örnekler :

  bayrak = ["kırmızı", "beyaz"]
  print([ x+" renk" for x in bayrak ])

bayrak hazır listesinin sırayla her elemanının sonuna renk kelimesini yapıştırıyoruz, sonuç: ["kırmızı renk", "beyaz renk"].

  vektör = [-4, -2, 0, 2, 4]
  print([ 2*x for x in vektör ])

vektör hazır listesinin sırayla her elemanının 2 katını alıyoruz, sonuç: [-8, -4, 0, 4, 8]. Özet-formül yerine içinde x değişkeni geçen bir fonksiyon da kullanabiliriz.

Liste filtreleme

Özel ifadenin sonuna if ile bir ek yaptığımızda bazı elemanları atlayabiliyoruz:

vektör = [-4, -2, 0, 2, 4]
print([ 2*x for x in vektör if x>0 ])

vektör hazır listesinin, bu sefer sıfırdan büyük olan her elemanının 2 katını alıyoruz, sonuç: [0, 4, 8].

Buradaki ve kendi tüm Python kodlarınızı aşağıdaki online sitelerde denemeyi unutmayın. Tekrar görüşmek dileklerimle.

Yorumlar
Yorum bulunmuyor.
Yorumlarınızı paylaşın

--
 
Nahit Taşpınar / diğer yazıları
İsrail Gazze'de 48 saatte 26 katliam yaptı
300'den fazla Filistinli öldü
Trump-Fed kavgası büyüyor
"Powell derhal istifa etmeli"
Tek motorlu uçak düştü
Arama çalışmaları sürüyor
Türkiye'nin ilk iklim kanunu
Tartışmalı yasa Meclis'ten geçti
İsrailli bakanlar Batı Şeria'nın ilhakını istedi
Mısır'dan İsrail'e kınama
Karikatür provokasyonunda
4 kişi tutuklandı
Yenidoğan Çetesi davasında ara karar
3 sanık tahliye edildi
Çeşme'de yangın büyüdü
5 uçak, 18 helikopterle müdahale sürüyor
'Kimseyi satmadım'
'Tunç Soyer'i de satmam'
Özgür Özel'e fezleke
Dokunulmazlığının kaldırılması isteniyor
Gemlik'te yine deprem oldu
Çevre kentlerden de hissedildi
Memur ve emekli yarını bekliyor
Gözler TÜİK'e çevrildi
İşte Tunç Soyer'in ilk görüntüsü
Gözaltındakilerin işlemleri sürüyor
Resmen askıda
Pezeşkiyan'dan kritik adım
2 bin 500 kişi yurtlara yerleştirildi
Antakya ormanları küle döndü
İsrail Gazze'de 48 saatte 26 katliam yaptı
300'den fazla Filistinli öldü
Trump-Fed kavgası büyüyor
"Powell derhal istifa etmeli"
Tek motorlu uçak düştü
Arama çalışmaları sürüyor
Türkiye'nin ilk iklim kanunu
Tartışmalı yasa Meclis'ten geçti
İsrailli bakanlar Batı Şeria'nın ilhakını istedi
Mısır'dan İsrail'e kınama
Karikatür provokasyonunda
4 kişi tutuklandı
Yenidoğan Çetesi davasında ara karar
3 sanık tahliye edildi
Çeşme'de yangın büyüdü
5 uçak, 18 helikopterle müdahale sürüyor
'Kimseyi satmadım'
'Tunç Soyer'i de satmam'
Özgür Özel'e fezleke
Dokunulmazlığının kaldırılması isteniyor
Gemlik'te yine deprem oldu
Çevre kentlerden de hissedildi
Memur ve emekli yarını bekliyor
Gözler TÜİK'e çevrildi
İşte Tunç Soyer'in ilk görüntüsü
Gözaltındakilerin işlemleri sürüyor
Resmen askıda
Pezeşkiyan'dan kritik adım
2 bin 500 kişi yurtlara yerleştirildi
Antakya ormanları küle döndü
logo

Beşyol Mah. 502. Sok. No: 6/1
Küçükçekmece / İstanbul

Telefon: (212) 624 09 99
E-posta: internet@yenimesaj.com.tr gundogdu@yenimesaj.com.tr


WhatsApp iletişim: (542) 289 52 85


Tüm hakları Yeni Mesaj adına saklıdır: ©1996-2025

Yazılı izin alınmaksızın site içeriğinin fiziki veya elektronik ortamda kopyalanması, çoğaltılması, dağıtılması veya yeniden yayınlanması aksi belirtilmediği sürece yasal yükümlülük altına sokabilir. Daha fazla bilgi almak için telefon veya eposta ile irtibata geçilebilir. Yeni Mesaj Gazetesi'nde yer alan köşe yazıları sebebi ile ortaya çıkabilecek herhangi bir hukuksal, ekonomik, etik sorumluluk ilgili köşe yazarına ait olup Yeni Mesaj Gazetesi herhangi bir yükümlülük kabul etmez. Sözleşmesiz yazar, muhabir ve temsilcilere telif ödemesi yapılmaz.