Python'da zip() Fonksiyonu

by trustix


Eklenme Tarihi : 20 Aralık 2020 20:18 Views:     1067



Python'da zip() Fonksiyonu Nedir?

zip() fonksiyonu birden fazla iterasyonu bağımsız değişken olarak alan ve bu iterasyon yapılarını index değerlerine göre parallelleyerek eşleştiren, bu işlemin sonucunda da yeni bir zip nesnesi oluşturan gömülü bir Python fonksiyonudur.

 

. Bu eşleştirmede her iterasyonun ilk index değerine sahip elemanı bir diğer iterasyon yapısının ilk index değerine sahip elemanı ile eşleştirilir. Eleman sayısı daha az olan iterasyon bitene kadar bu işlem devam etmektedir. İterasyon yapısı bir liste, sözlük ya tuple olabilir.

Python zip() Fonksiyonu Kullanımı

# Python zip() Fonksiyonu 

"""
    Bir tanesinde ülke isimlerinin
    diğerinde ise ülke başkentlerinin
    yer aldığı iki farklı liste tanımlıyoruz.
    Daha sonra zip() fonksiyonu ile bu
    iki listemizin elemanlarını eşleştiriyoruz.
    Eşleştirdikten sonra oluşan zip() nesnesini
    direkt olarak yazdıramadığımız için
    bu nesneyi bir iterasyon yapısına dönüştürmemiz
    gerekiyor. Burada bu iki listeyi eşleştirdikten
    sonra oluşan zip nesnesi bir tuple yapısına
    dönüştürüyoruz. Daha sonra tuple nesnesini
    normal bir şekilde yazdırabiliriz.
"""



# iki farklı liste oluşturuyoruz.

countries = ['Türkiye', 'Norveç', 'Fransa', 'Almanya']
cities = ['Ankara', 'Oslo', 'Paris', 'Berlin']

# zip() fonksiyonu ile bu iterasyonların elemanlarını eşleştiriyoruz

result = zip(countries, cities)

# result adlı zip nesnesini bir tuple'ya dönüştürüyoruz.

result = tuple(result)


# tuple nesnesini direkt yazdırabileceğimiz gibi for döngüsü yardımı ile de yazdırabiliriz.

for a in result:
    print('Ülke => ',  a[0], "||",  'Başkent => ', a[1])
    print('-----------------------------')


"""
    Output:  
            Ülke =>  Türkiye || Başkent =>  Ankara
            -----------------------------
            Ülke =>  Norveç || Başkent =>  Oslo
            -----------------------------
            Ülke =>  Fransa || Başkent =>  Paris
            -----------------------------
            Ülke =>  Almanya || Başkent =>  Berlin
            -----------------------------  
"""
  

 

# Python zip() Fonksiyonu Kullanımı
"""
    Eğer yukarıdaki örnekte oluşan nesnemizi
    yeni bir iterasyon yapısına dönüştürmeden
    yazdırmaya çalışmak burada olduğu gibi
    bir hata ile karşılaşmamıza
    neden olacaktır.
"""


# iki farklı liste oluşturuyoruz.

countries = ['Türkiye', 'Norveç', 'Fransa', 'Almanya']
cities = ['Ankara', 'Oslo', 'Paris', 'Berlin']

# zip() fonksiyonu ile bu iterasyonların elemanlarını eşleştiriyoruz

result = zip(countries, cities)
print(result)
# Output: <zip object at 0x0000013D2B9C0208>

"""
    Bu hatanın nedesi zip nesnelerinin 
    direkt olarak çıktılanacak bir yapıya
    sahip olmamalarıdır.
"""
  

 

Farklı Sayıda Elemana Sahip İterasyonların zip() Fonksiyonu ile Eşleştirilmesi

# Farklı Sayıda Elemana Sahip İterasyonların zip() Fonksiyonu ile Eşleştirilmesi

"""
    İki veya daha fazla sayıda iterasyon yapısının
    eşleştirilmesinde dikkat edilecek noktalardan
    biri şudur. Oluşturulan zip nesnesinin eleman
    sayısı, eşleştirilen iterasyon yapılarından
    en az elemana sahip olan ile eşit sayıda olacaktır.
    Örneğin:
"""


# Farklı eleman sayılarına sahip iki iterasyon oluşturuyoruz.
markalar = ['BMW', 'Mercedes', 'Audi', 'Toyota', 'Volvo']
modeller = ('X3', 'c180', 'A5', 'Corolla')


# zip() fonksiyonu ile bu yapıları eşleştiriyoruz.
result = zip(markalar, modeller)

# zip nesnesini liste yapısına dönüştürüyoruz.
result = list(result)

# for döngüsü yardımı ile listemizi yazdırıyoruz.

for i in result:
    print('Marka => ', i[0] , ' || ', 'Model => ', i[1])
    print('#######################################')
    
    
"""
    Burada oluşan yeni iterasyon yapısının
    eleman sayısı 4 olmaktadır.
    Çünkü modeller adındaki iterasyonumuz
    4 elemandan oluşmaktadır. Yeni yapıda
    Volvo değerine sahip eleman bulunmamaktadır.
    Output:
            Marka =>  BMW  ||  Model =>  X3
            #######################################
            Marka =>  Mercedes  ||  Model =>  c180
            #######################################
            Marka =>  Audi  ||  Model =>  A5
            #######################################
            Marka =>  Toyota  ||  Model =>  Corolla
            #######################################

"""

 

 

Python'da zip() Fonksiyonu ile Dosyaya Veri Kaydetmek

Python'da zip() fonksiyonu ile birden fazla iterasyon yapısındaki elemanların eşleştirilerek yeni bir iterasyon yapısının nasıl oluşturduğunu örnekler üzerinden inceledik. Bunun dışında zip() fonksiyonu ile bir dosyaya veri kaydetmek de mümkün. Örneğin:

# Python'da zip() Fonksiyonu ile Dosyaya Veri Kaydetmek

# Verileri kaydetmek için dosya yolunu bir değişkene aktarıyoruz.
dosya = open("test.txt", 'a+')

# Öncelikle dosyaya kaydetmek istediğimiz verileri iterasyon yapılarında topluyoruz.

countries = [
    'Türkiye',
    'Fransa',
    'Almanya',
    'Birleşik Krallık',
    'Norveç',
    'Japonya'
]

cities = [
    'Ankara',
    'Paris',
    'Berlin',
    'Londra',
    'Oslo',
    'Tokyo'
]


# Bir döngü yardımı ile verilerimizi yazdırıyoruz.

for i in zip(countries, cities):

    result = dosya.write('Ülke => ' + str(i[0]) + ' || ' + 'Başkent => ' +  str(i[1]))

# Dosyadaki çıktı aşağıdaki gibi olmaktadır.
# Output: Ülke => Türkiye || Başkent => AnkaraÜlke => Fransa || Başkent => ParisÜlke => Almanya || Başkent => Berlin
# Ülke => Birleşik Krall˝k || Başkent => LondraÜlke => Norveç || Başkent => OsloÜlke => Japonya || Başkent => Tokyo
  

 

 

Evet arkadaşlar Python programlama dilinde kullanılan, dosyalara veri kaydetmek ve birden fazla iterasyon yapısının elemanlarını index değerlerine göre eşleştirmek amacıyla kullanılan zip() fonksiyonunu örnekler üzerinden incelemeye çalıştık.

print('Herkese İyi Kodlamalar')

 





0

Yorum Formu

vikikod.com    © 2019