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')