Merhabalar
Python programlama derslerinin bu bölümünde gömülü fonksiyonlardan biri olan zip() fonksiyonundan bahsedeceğim.
zip() fonksiyonu
zip() fonksiyonu, iki dizisel elemanın öğelerini birbirleriyle eşleştirirerek bir zip objesi oluşturur.
İsmiyle uyumlu bir çalışma mantığı vardır. Aldığı iki parametrenin liste tipinde olduğunu farz edersek, iki parametreyi alır ve ikili demet yapısında yeni bir liste oluşturur.
zip() fonksiyonunun kullanımına geçmeden önce iki adet liste tipinde veriyi zip() fonksiyonunu kullanmadan nasıl birleştirirdik, bunu görelim:
Örneğimizde listeSayi ve listeHarf adında iki liste bulunmaktadır. Bu iki listeyi kullanarak hazırlayacağımız 3.listemizi list() fonksiyonu kullanarak boş bir şekilde oluşturduk.
item değişkeni ise while döngüsündeki iterasyonları saymak için kullanılmıştır.
while() döngüsündeki
item < len(listeHarf) and item < len(listeSayi)
sorgusu iki listenin uzunluğunun eşit olduğu noktalarda dönmesini istemektedir. Yani ilk liste 4 elemanlı ikinci liste 5 elemanlı ise bu sorguya göre döngü 4 kez dönecektir.
while() döngü bloğu içerisindeki append() metodu ise iki listenin elemanlarını yeni listeye eklemek için kullanılmıştır.
newList.append((listeSayi[item],listeHarf[item]))
Son olarak da print() fonksiyonu kullanılarak yeni liste ekrana yazılmıştır:
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
Görüldüğü gibi ikili çiftler halindedir.
Şimdi bu uygulamayı zip() fonksiyonu ile nasıl yaparız görelim :
Görüldüğü gibi uygulamayı tek hamlede yapmış olduk :
zip(listeSayi, listeHarf)
Çıktıdan zip() fonksiyonunun zip tipinde bir obje oluşturduğunu görüyoruz. Bu objenin içeriğini list() fonksiyonu kullanarak listeye dönüştürerek öğrenebiliriz.
Ya da print() fonksiyonu içerisinde aşağıdaki gibi bir kullanımla da aynı sonucu elde edebiliriz :
Şimdilik bu kadar.
Umarım faydalı bir çalışma olmuştur.
Teşekkürler.
Kaynak belirtilmeyen görseller bana aittir. The pictures without source in the post is belong to me
You got a 67.39% upvote from @brupvoter courtesy of @elektroyazilim!
You got a 25.00% upvote from @joeparys! Thank you for your support of our services. To continue your support, please follow and delegate Steem power to @joeparys for daily steem and steem dollar payouts!
You got a 99.36% upvote from @minnowvotes courtesy of @elektroyazilim!
You got a 95.57% upvote from @luckyvotes courtesy of @elektroyazilim!