Τι είναι η λειτουργία Zip και UnZip στο Python;



Αυτό το άρθρο θα σας δώσει μια λεπτομερή και περιεκτική γνώση της λειτουργίας Zip στο Python, πώς χρησιμοποιείται και πώς να αποσυμπιέστε επίσης.

Αναρωτηθήκατε ποτέ πώς μπορούμε να πάρουμε ένα στοιχείο το καθένα από δύο διαφορετικές λίστες και να τα κάνουμε ως ζευγάρι και να τα βάλουμε σε μια νέα λίστα; Λοιπόν, αυτή η ιδέα εκτός από το να είναι ενδιαφέρουσα είναι πολύ χρήσιμη σε πολλούς τομείς εξειδίκευσης. Ας γνωρίσουμε τη λειτουργία zip στο Python με την ακόλουθη σειρά:

Λειτουργία Zip στο Python

Λειτουργία Zip στο Python





Η συνάρτηση zip () είναι μια ενσωματωμένη συνάρτηση και παίρνει οποιονδήποτε αριθμό επαναλήψεων και επιστρέφει μια λίστα με πλειάδες. Το στοιχείο ith της πλειάδας δημιουργείται χρησιμοποιώντας το στοιχείο ith από καθένα από τα iterables.

list_A = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) εκτύπωση zl

Παραγωγή:



[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]

Φερμουάρ στο Python 3

Στο Python 3, όταν εκτελούμε τον παραπάνω κώδικα, δεν θα έχουμε το ίδιο αποτέλεσμα. Αντ 'αυτού, θα λάβουμε:



Δοκίμασέ το!

Αυτό συμβαίνει επειδή οι μέθοδοι zip επιστρέφουν ένα αντικείμενο zip αντί για μια λίστα. Αυτό το αντικείμενο zip είναι επαναληπτικό. Με άλλα λόγια, επιστρέφει ένα αντικείμενο επαναληπτικού, έχοντας αντιστοιχισμένες τιμές από όλα τα κοντέινερ. Έτσι, για να λάβουμε τις τιμές, είτε μετατρέπουμε το zl (από τον παραπάνω κώδικα) σε λίστα, σετ ή οτιδήποτε άλλο.

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) zl = list (zl) εκτύπωση (zl)

Παραγωγή:

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]

Αποσυμπίεση στο Python

Η αποσυμπίεση σημαίνει μετατροπή των τιμών με φερμουάρ στον ατομικό εαυτό όπως ήταν. Αυτό γίνεται με τη βοήθεια του χειριστή '*'. Τώρα λοιπόν, εάν θέλουμε να βάλουμε τις παλιές τιμές στη λίστα Α και στη λίστα Β από τη λίστα zip zip, τότε πρέπει να αποσυμπιέσουμε το zl

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] #zip listA και listB και βάλτε το σε μία λίστα zl = list (zl) print (zl) #unzip zl και επαναφέρετε τις τιμές στη λίσταA και listB listA, listB = zip (* zl) print (listA) print (listB)

Παραγωγή:

πλαίσιο βάσει δεδομένων στο webdriver σεληνίου

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]
(1, 2, 3, 4)
('Α Β Γ Δ')

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

listA = [1, 2, 3, 4] listB = ['a', 'b', 'c', 'd'] zl = zip (listA, listB) zl = list (zl) print (zl) listC, listD = zip (* zl) print (listC) print (listD) print (listA) print (listB)

Παραγωγή:

[(1, ‘a’), (2, ‘b’), (3, ‘c’), (4, ‘d’)]
(1, 2, 3, 4, 5)
(‘A’, ‘b’, ‘c’, ‘d’, ‘e’)
[1, 2, 3, 4, 5]
[‘A’, ‘b’, ‘c’, ‘d’, ‘e’]

Όπως μπορείτε να δείτε, τα listA και listB είναι λίστες και listC και listD εμφανίζονται ως πλειάδες που εμφανίζονται ως έξοδο. Αυτή είναι η μόνη μικρή διαφορά.

Με αυτό, καταλήγουμε σε αυτό το άρθρο Zip Function στο Python. Ελπίζω να μάθατε καλά τις έννοιες και ως εκ τούτου να τις δοκιμάσετε για να είναι πιο ακριβείς.

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτού του ιστολογίου 'Zip Function in Python' και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.

Για να μάθετε σε βάθος την Python μαζί με τις διάφορες εφαρμογές της, μπορείτε με τη ζωντανή διαδικτυακή εκπαίδευση μας με 24ωρη υποστήριξη και πρόσβαση σε όλη τη διάρκεια ζωής.