logo
16 NİSAN 2024

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.

 
Nahit Taşpınar / diğer yazıları
75 kişi hayatını kaybetti, 10 bin 810 kişi yaralandı
Bayram trafiğinin acı bilançosu
Ticaret Bakanlığı'ndan çimento açıklaması
9 Nisan'dan önce gümrüklemesi yapıldı
Yerel seçimi kazanan CHP'yi uyardı
Bahçeli'den yeni anayasa çıkışı
Yargıtay'da başkanlık krizi sürüyor
17 turda da sonuç çıkmadı
Ölümden dönen Zehra nine konuştu
'Parçalayacaklardı, zor kurtuldum'
Sadece karın doyurmanın maliyeti
Minimum 16 bin 646 TL
Tarımda maliyetler yükselmeye devam ediyor
Tarım ÜFE yıllık yüzde 61.87 arttı
Metin Cihan'dan İsrail'le ticaret konusunda yeni belge
'Bize yalan söylediler'
Altınok'u memleketinde bile geride bıraktı
Yavaş AKP'nin kalelerini de yıktı!
Tarladaki fiyatı 7 liraya kadar düştü
Enkaz kentte bereketli hasat
Uğur Dündar'dan 'babalık davası' hakkında açıklama
'Benim için konu kapanmıştır'
Yapılmaması gereken 5 yanlış
AKP'ye kurtuluş reçetesi yazdı
31 Mart sonuçları da masada olacak
Seçim sonrası ilk kabine toplantısı
2 metrelik engerek yılanı görüntülendi
Isırığı bir insanı öldürmeye yetiyor
İran korkusu geçti, katliam devam ediyor
İsrail ordusu camiyi bombaladı
75 kişi hayatını kaybetti, 10 bin 810 kişi yaralandı
Bayram trafiğinin acı bilançosu
Ticaret Bakanlığı'ndan çimento açıklaması
9 Nisan'dan önce gümrüklemesi yapıldı
Yerel seçimi kazanan CHP'yi uyardı
Bahçeli'den yeni anayasa çıkışı
Yargıtay'da başkanlık krizi sürüyor
17 turda da sonuç çıkmadı
Ölümden dönen Zehra nine konuştu
'Parçalayacaklardı, zor kurtuldum'
Sadece karın doyurmanın maliyeti
Minimum 16 bin 646 TL
Tarımda maliyetler yükselmeye devam ediyor
Tarım ÜFE yıllık yüzde 61.87 arttı
Metin Cihan'dan İsrail'le ticaret konusunda yeni belge
'Bize yalan söylediler'
Altınok'u memleketinde bile geride bıraktı
Yavaş AKP'nin kalelerini de yıktı!
Tarladaki fiyatı 7 liraya kadar düştü
Enkaz kentte bereketli hasat
Uğur Dündar'dan 'babalık davası' hakkında açıklama
'Benim için konu kapanmıştır'
Yapılmaması gereken 5 yanlış
AKP'ye kurtuluş reçetesi yazdı
31 Mart sonuçları da masada olacak
Seçim sonrası ilk kabine toplantısı
2 metrelik engerek yılanı görüntülendi
Isırığı bir insanı öldürmeye yetiyor
İran korkusu geçti, katliam devam ediyor
İsrail ordusu camiyi bombaladı
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-2024

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.