Διασταύρωση λίστας στην Python

List Intersection Python



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

Σημείο τομής

Πριν ξεκινήσετε αυτό το σεμινάριο, θα εξηγηθεί η έννοια της διασταύρωσης. Παρακάτω δίνονται δύο ως παράδειγμα:







Λίστα 1= [4, 7, 2. 3, 9, 6, έντεκα]
Λίστα2= [6, 5, 1, είκοσι, 9, 7, 4, 3]

Αφού εφαρμόσετε τη διασταύρωση, εάν το αποτέλεσμα αποθηκευτεί σε άλλη λίστα, ίσως ονομάζεται List3, τότε θα περιέχει τα ακόλουθα δεδομένα.



Λίστα 3= [4, 6, 7, 9]

Η γραφική αναπαράσταση του List3 φαίνεται παρακάτω:







Παράδειγμα 1: Λίστες διασταύρωσης μέσω της μεθόδου set ()

Το ακόλουθο παράδειγμα δείχνει πώς μπορείτε να τέμνετε δύο λίστες χρησιμοποιώντας το σειρά() μέθοδο και το & χειριστής. Δύο λίστες, με όνομα list1 και list2, δηλώνονται εδώ. Και οι δύο αυτές λίστες περιέχουν αριθμητικές τιμές. Η τρίτη λίστα δημιουργείται μετατρέποντας τη λίστα 1 και τη λίστα 2 στο σύνολο μέσω του συνόλου () μέθοδο και εφαρμογή διασταύρωσης χρησιμοποιώντας το & χειριστής. Στη συνέχεια, εκτυπώνονται οι τιμές των τριών λιστών.

#!/usr/bin/env python3
# Ορισμός λίστας1
λίστα 1= [22, 8, Τέσσερα πέντε, έντεκα, 3. 4, 9, είκοσι, 7]
# Ορισμός λίστας2
λίστα 2= [12, 9, είκοσι, 78, 53, 8, 2, 30,31]
# Δημιουργήστε τη λίστα3 διασταυρώνοντας τη λίστα1 και τη λίστα2
λίστα 3= λίστα(σειρά(λίστα 1)&σειρά(λίστα 2))
# Εκτύπωση λίστας1
Τυπώνω('Οι τιμές της λίστας1: n',λίστα 1)
# Εκτύπωση λίστας2
Τυπώνω('Οι τιμές της λίστας2: n',λίστα 2)
# Εκτύπωση λίστας3
Τυπώνω(«Οι τιμές της λίστας3 μετά τη διασταύρωση της λίστας1 και της λίστας2: n',λίστα 3)

Παραγωγή



Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου. Τρεις τιμές είναι κοινές και στις δύο λίστες. Αυτές οι τιμές είναι 8, 9 και 20 και εμφανίζονται στο περιεχόμενο της τρίτης λίστας.

Παράδειγμα 2: Λίστες διασταύρωσης μέσω της μεθόδου διασταύρωσης ()

Δεν υπάρχει άμεση, ενσωματωμένη μέθοδος για το αντικείμενο λίστας για να ανακαλύψει τις τιμές τομής μεταξύ δύο λιστών. Ωστόσο, το σετ έχει μια ενσωματωμένη μέθοδο, που ονομάζεται σημείο τομής() , για να μάθετε τις κοινές τιμές μεταξύ των συνόλων. Μια προσαρμοσμένη συνάρτηση, με όνομα intersectionLists () , ορίζεται στο παρακάτω σενάριο για να μάθετε τις κοινές τιμές μεταξύ των δύο λιστών. Ένας περιορισμός αυτού του συνόλου είναι ότι μπορεί να περιέχει μόνο αριθμητικά δεδομένα. Μια μεταβλητή λίστας μπορεί να περιέχει διάφορους τύπους συμβολοσειρών δεδομένων, συμπεριλαμβανομένων αριθμητικών, boolean κ.λπ. Στο σενάριο, λίστα 1 και λίστα 2 περιέχει όλα τα δεδομένα συμβολοσειράς συμπεριλαμβανομένου και κειμένου. Το σενάριο θα εκτυπώσει όλες τις κοινές συμβολοσειρές και αριθμητικές τιμές μεταξύ λίστα 1 και λίστα 2 Το

#!/usr/bin/env python3

# Ορίστε τη συνάρτηση για την επιστροφή της τομής δύο λιστών
defintersectLists(λίστα 1,λίστα 2):
ΕΠΙΣΤΡΟΦΗ σειρά(λίστα 1)Τοσημείο τομής(λίστα 2)

# Ορισμός λίστας1
λίστα 1= ['Γεια σας','7','8','10','2']
# Ορισμός λίστας2
λίστα 2= ['8','3. 4','Γεια σας','2','είκοσι ένα','1',10]
'' 'Καλέστε την προσαρμοσμένη λειτουργία για αποθήκευση
το αποτέλεσμα διασταύρωσης της λίστας1 και της λίστας2
στη λίστα 3 ''

λίστα 3=intersectLists(λίστα 1,λίστα 2)
# Εκτύπωση λίστας1
Τυπώνω('Οι τιμές της λίστας1: n',λίστα 1)
# Εκτύπωση λίστας2
Τυπώνω('Οι τιμές της λίστας2: n',λίστα 2)
# Εκτύπωση λίστας3
Τυπώνω(«Οι τιμές της λίστας3 μετά τη διασταύρωση της λίστας1 και της λίστας2: n',λίστα 3)

Παραγωγή

Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου. Εδώ, οι κοινές τιμές μεταξύ των δύο λιστών είναι '2', '8' και 'Hello'.

Παράδειγμα 3: Λίστες διασταύρωσης μέσω της μεθόδου βρόχου

Τα δύο προηγούμενα παραδείγματα δείχνουν τη διασταύρωση λίστας χρησιμοποιώντας ενσωματωμένες συναρτήσεις. Το ακόλουθο παράδειγμα δείχνει τη διασταύρωση λίστας χωρίς καμία ενσωματωμένη λειτουργία. Αυτό μπορεί να επιτευχθεί με τη χρήση του βρόχου. Δύο λίστες δεδομένων κειμένου δηλώνονται στο σενάριο. ο Για Ο βρόχος χρησιμοποιείται εδώ για να μάθετε τις κοινές τιμές κειμένου μεταξύ λίστα 1 και λίστα 2, και που αποθηκεύονται στη μεταβλητή, λίστα 3 Το Στη συνέχεια, εκτυπώνονται οι τιμές αυτών των τριών μεταβλητών λίστας.

#!/usr/bin/env python3

# Ορισμός λίστας1
λίστα 1= ['Farhan','Abir','Akash','Meena','Mazher']
# Ορισμός λίστας2
λίστα 2= ['Meena','Moyna','Νόμπελ','Πιο κοντά','Abir','Farheen']
# Βρείτε τη διασταύρωση χρησιμοποιώντας το βρόχο και αποθηκεύστε το αποτέλεσμα στη λίστα3
λίστα 3= [αξίαΓιααξίασελίστα 1αναξίασελίστα 2]

# Εκτύπωση λίστας1
Τυπώνω('Οι τιμές της λίστας1: n',λίστα 1)
# Εκτύπωση λίστας2
Τυπώνω('Οι τιμές της λίστας2: n',λίστα 2)
# Εκτύπωση λίστας3
Τυπώνω(«Οι τιμές της λίστας3 μετά τη διασταύρωση της λίστας1 και της λίστας2: n',λίστα 3)

Παραγωγή

Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου. Εδώ, είναι οι κοινές τιμές κειμένου των δύο λιστών ‘Αβίρ’ και «Μίνα».

Παράδειγμα 4: Διασταύρωση απλών και ένθετων λιστών μέσω της μεθόδου φίλτρου ()

Το ακόλουθο παράδειγμα δείχνει τη διασταύρωση μεταξύ μιας απλής λίστας και μιας ένθετης λίστας. ο φίλτρο() μέθοδο και λάμδα η συνάρτηση χρησιμοποιείται στο σενάριο για τη διεξαγωγή της τομής μεταξύ λίστας1 και λίστας2. Όταν μια λίστα περιέχει μία ή περισσότερες λίστες ως στοιχεία λίστας, τότε η λίστα ονομάζεται ένθετη λίστα. Εδώ, λίστα 1 είναι μια απλή λίστα, και λίστα 2 είναι ένθετη λίστα, ενώ λίστα 3 περιέχει τις τιμές τομής του λίστα 1 και λίστα 2 Το

#!/usr/bin/env python3

# Ορίστε μια απλή λίστα
λίστα 1= [22, 8, Τέσσερα πέντε, έντεκα, 3. 4, 9, είκοσι, 7]
# Ορίστε μια ένθετη λίστα
λίστα 2= [[12, 9, είκοσι], [78, έντεκα, 53, 8], [2, 30, 31, Τέσσερα πέντε]]
# Δημιουργία λίστας3 διασταυρώνοντας τη λίστα1 και τη λίστα2 χρησιμοποιώντας φίλτρο ()
λίστα 3= [λίστα(φίλτρο(λάμδαn: nσελίστα 1,σχιστόλιθο)) Γιασχιστόλιθοσελίστα 2]

# Εκτύπωση λίστας1
Τυπώνω('Οι τιμές της λίστας1: n',λίστα 1)
# Εκτύπωση λίστας2
Τυπώνω('Οι τιμές της λίστας2: n',λίστα 2)
# Εκτύπωση λίστας3
Τυπώνω(«Οι τιμές της λίστας3 μετά τη διασταύρωση της λίστας1 και της λίστας2: n',λίστα 3)

Παραγωγή

Η ακόλουθη έξοδος θα εμφανιστεί μετά την εκτέλεση του σεναρίου. Η μεταβλητή list2 περιέχει τρεις άλλες λίστες ως στοιχεία λίστας. Έτσι, το αποτέλεσμα δείχνει τη διασταύρωση μεταξύ αυτών των τριών υπο-λιστών της λίστας2 με τη λίστα1.

συμπέρασμα

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