Συνάρτηση zip
Η συνάρτηση zip δημιουργεί έναν επαναλήπτη,
που συνδυάζει στοιχεία από ακολουθίες
(λίστες, πλειάδες, σύνολα). Η συνάρτηση
επιστρέφει έναν επαναλήπτη, στον οποίο όλα τα στοιχεία
της πρώτης και της δεύτερης ακολουθίας συνδυάζονται
μαζί κατά σειρά. Στην παράμετρο της συνάρτησης
ορίζουμε όλες τις πλειάδες, λίστες,
σύνολα κ.λπ. που μας ενδιαφέρουν.
Σύνταξη
zip(πρώτη ακολουθία, δεύτερη ακολουθία κ.λπ.)
Παράδειγμα
Ας χρησιμοποιήσουμε τη συνάρτηση zip για να δημιουργήσουμε
μια νέα πλειάδα βασισμένη σε δύο αρχικές:
tlp1 = ('a', 'b', 'c')
tlp2 = (1, 2, 3)
res = zip(tlp1, tlp2)
print(tuple(res))
Αποτέλεσμα εκτέλεσης κώδικα:
(('a', 1), ('b', 2), ('c', 3))
Παράδειγμα
Τώρα ας χρησιμοποιήσουμε τη συνάρτηση zip
για να δημιουργήσουμε μια νέα πλειάδα βασισμένη σε δύο λίστες:
lst1 = ['d', 'e', 'f']
lst2 = [4, 5, 6]
res = zip(lst1, lst2)
print(tuple(res))
Αποτέλεσμα εκτέλεσης κώδικα:
(('d', 4), ('e', 5), ('f', 6))
Παράδειγμα
Ας δημιουργήσουμε μια πλειάδα από δύο σύνολα:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
res = zip(st1, st2)
print(tuple(res))
Αποτέλεσμα εκτέλεσης κώδικα:
(('a', 'd'), ('c', 'e'), ('b', 'f'))
Παράδειγμα
Τώρα ας δημιουργήσουμε μια πλειάδα από τρία σύνολα:
st1 = {'a', 'b', 'c'}
st2 = {'d', 'e', 'f'}
st3 = {1, 2, 3}
res = zip(st1, st2, st3)
print(tuple(res))
Αποτέλεσμα εκτέλεσης κώδικα:
(('c', 'f', 1), ('b', 'd', 2), ('a', 'e', 3))
Παράδειγμα
Με τη συνάρτηση zip μπορούμε
να διασχίσουμε ταυτόχρονα πολλά αντικείμενα.
Ας διασχίσουμε τρεις λίστες για παράδειγμα:
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst3 = [7, 8, 9]
for el1, el2, el3 in zip(lst1, lst2, lst3):
print(el1, el2, el3)
Αποτέλεσμα εκτέλεσης κώδικα:
1 4 7
2 5 8
3 6 9