idea worker - fikir işçisi
PYTHON ZIP()
25.03.2020 00:26Python'da zip() işlevi kafa karıştırabilen, ama oldukça faydalı bir işlevdir. Örnekle anlatmaya çalışacağım. Üç adet listemiz olsun.
adlar = ['Mustafa', 'Ali', 'Kağan', 'Barbaros']
yaslar = [17, 29, 40, 32]
maaslar = [8000, 2400, 6500, 7000]
Adından da anlaşılacağı üzere, zip() işlevi ile bu listeleri birleştireceğim.
mapped = zip(adlar , yaslar, maaslar)
Şimdi de 'mapped'ı yazdıralım.
print(mapped)
Zip nesnesi elde ediyoruz.
Ama ne elde ettiğimizi yani verileri bastırmak istersek?.. Kodları ve yorumları aşağıya ekliyorum.
#mapped = set(mapped) # verileri set olarak basıyor
#mapped = tuple(mapped) # verileri tüp olarak basıyor
mapped = list(mapped) #verileri liste olarak basıyor
print("Personel verileri aşağıdadır:\n ", mapped)
Liste için çıktı aşağıda:
[('Mustafa', 17, 8000), ('Ali', 29, 2400), ('Kağan', 40, 6500), ('Barbaros', 32, 7000)]
Yukarıda görüldüğü üzere, 3 ayrı listeyi birleştirdik. Sonucu set ve tüp olarak da alabiliriz.
Verileri zip'ten çıkarmak istersek?.. Yani elimizde sadece zip veri varsa, * bize yardımcı olacak. Bir yıldız neler yaparmış, görelim.
veri1, veri2, veri3 = zip(*mapped)
print(veri1, veri2, veri3)
Sonuç aşağıda:
('Mustafa', 'Ali', 'Kağan', 'Barbaros') (17, 29, 40, 32) (8000, 2400, 6500, 7000)
Şimdi de for döngüsü ile verilerimizi bastıralım.
for ad, yas, maas in mapped:
print("Ad :", ad, ", Yaş :", yas, ", Maaş: ", maas )
Sonuçlar aşağıda:
Ad : Mustafa , Yaş : 17 , Maaş: 8000
Ad : Ali , Yaş : 29 , Maaş: 2400
Ad : Kağan , Yaş : 40 , Maaş: 6500
Ad : Barbaros , Yaş : 32 , Maaş: 7000
Yukarıda gösterdiğim örneklerden anlaşılacağı üzere, zip() oldukça faydalı bir işlev.
Dikkat ettiniz mi, kendimi 17 yaşında belirttim. Evet, insan hissettiği yaştadır:)
—————