HOŞGELDİNİZ! BUGÜN 16 EYLÜL 2021, PERŞEMBE

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ı

Yeni Mesaj arşivinde 'tarihte bugün'

Yeni Mesaj Gazetesi arşivi 2001 yılına kadar eksiksiz içerikle erişime açık olup ayrıca tüm arşivde anahtar kelimelerle arama yapmak da mümkündür.

16.02.2020, 16.02.2019, 16.02.2018, 16.02.2017, 16.02.2016, 16.02.2015, 16.02.2014, 16.02.2013, 16.02.2012, 16.02.2011, 16.02.2010, 16.02.2009, 16.02.2008, 16.02.2007, 16.02.2006, 16.02.2005, 16.02.2004, 16.02.2003, 16.02.2002


logo

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

Telefon: (212) 425 10 66
Faks: (212) 424 69 77
E-posta: [email protected] [email protected]


WhatsApp haber: (0542) 289 52 85


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

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.