Ταυτόχρονη επανάληψη ακολουθιών στην Python

Για να επαναλάβετε πολλές ακολουθίες ταυτόχρονα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση zip. Σε αυτήν την περίπτωση, όλα τα στοιχεία των ακολουθιών θα εμφανίζονται με τη μορφή πλειάδων, που αποτελούνται από στοιχεία με τον ίδιο δείκτη.

Παράδειγμα

Ας υποθέσουμε ότι έχουμε δύο λίστες:

pythonlst1 = ['a', 'b', 'c']
lst2 = [1, 2, 3]

Ας εμφανίσουμε τα στοιχεία τους ανά ζεύγη:

pythonfor el in zip(lst1, lst2):
  print(el)

Αποτέλεσμα του εκτελεσμένου κώδικα:

python('a', 1)
('b', 2)
('c', 3)

Παράδειγμα

Μπορείτε να επαναλάβετε και ακολουθίες διαφορετικών τύπων. Ας περάσουμε μέσα από έναν βρόχο και τη συνάρτηση zip ένα σύνολο και μια πλειάδα:

pythonst = {'a', 'b', 'c'}
tlp = (1, 2, 3)

for el in zip(st, tlp):
  print(el)

Αποτέλεσμα του εκτελεσμένου κώδικα:

python('a', 1)
('b', 2)
('c', 3)

Παράδειγμα

Εάν το μήκος μιας ακολουθίας είναι μεγαλύτερο από τη δεύτερη, τότε θα επαναλαμβάνονται μέχρι τα στοιχεία της μικρότερης:

pythonlst1 = ['a', 'b', 'c', 'd', 'e']
lst2 = [1, 2, 3, 4]

for el in zip(lst1, lst2):
  print(el)

Αποτέλεσμα του εκτελεσμένου κώδικα:

python('a', 1)
('b', 2)
('c', 3)
('d', 4)

Παράδειγμα

Χρησιμοποιώντας τη συνάρτηση zip μπορείτε να επαναλάβετε και τρεις ακολουθίες. Για να το κάνετε αυτό, στην παράμετρο της συνάρτησης τις αναφέρουμε όλες χωρισμένες με κόμμα:

pythonlst1 = ['a1', 'b1', 'c1']
lst2 = ['a2', 'b2', 'c2']
lst3 = ['a3', 'b3', 'c3']

for el in zip(lst1, lst2, lst3):
  print(el)

Αποτέλεσμα του εκτελεσμένου κώδικα:

python('a1', 'a2', 'a3')
('b1', 'b2', 'b3')
('c1', 'c2', 'c3')

Πρακτικές ασκήσεις

Задание 1

Δίνονται δύο λίστες:

pythontst1 = [1, 3, 5]
tst2 = [2, 4, 6]

Εμφανίστε τα στοιχεία τους ανά ζεύγη σε μορφή πλειάδας.

Задание 2

Δίνονται δύο λίστες:

pythontst1 = ['a', 'b', 'c']
tst2 = ['d', 'e', 'f']

Αποκτήστε από αυτές την ακόλουθη λίστα:

python['a', '1', 'b', '2', 'c', '3']
Задание 3

Δίνονται τρεις λίστες:

pythontst1 = [11, 12, 13, 14]
tst2 = [21, 22, 23, 24]
tst3 = [31, 32, 33, 34]

Προσθέστε τα αντίστοιχα στοιχεία αυτών των λιστών και γράψτε το αποτέλεσμα σε μια νέα λίστα. Η άθροιση θα γίνει σύμφωνα με την ακόλουθη αρχή:

python[
  11 + 21 + 31,
  12 + 22 + 32,
  13 + 23 + 33,
  14 + 24 + 34,
]