Το σύνολο Python είναι ένα μοναδικό κυριολεκτικό για το φιλτράρισμα διακριτών τιμών σε μια λίστα ή μια σειρά αντικειμένων. Σε αντίθεση με μια λίστα Python, λεξικό ή πλειάδα, δεν δέχεται διπλότυπα. Έτσι μπορεί να είναι ένα πολύτιμο εργαλείο καθαρισμού δεδομένων.
Αλλά πώς μπορείτε να δημιουργήσετε ένα σετ και να το χρησιμοποιήσετε στο Python; Θα το εξηγήσουμε σε αυτήν την ανάρτηση.
Χαρακτηριστικά των Python Sets
Εκτός από τη μη αποδοχή διπλότυπων, ένα σύνολο κυριολεκτικών έχει άλλα χαρακτηριστικά που το διαφοροποιούν από άλλους τύπους δεδομένων. Εδώ είναι μερικά από τα χαρακτηριστικά του:
- Είναι αμετάβλητο: αυτό σημαίνει ότι δεν μπορείτε να αλλάξετε τις τιμές ενός συνόλου μόλις το δημιουργήσετε.
- Ένα σύνολο κυριολεκτικά επιστρέφει δυναμική διάταξη κάθε φορά που δημιουργείτε μια. Στην ουσία, τα αντικείμενα σε ένα σύνολο δεν είναι ταξινομημένα.
- Επειδή παρουσιάζει μη ταξινομημένα στοιχεία, σε αντίθεση με τις λίστες λίστας και λεξικών, δεν μπορείτε να λάβετε τις τιμές ενός συνόλου από τα ευρετήριά τους.
Πώς να δημιουργήσετε και να χρησιμοποιήσετε ένα σύνολο Python
Τώρα που γνωρίζετε τα βασικά χαρακτηριστικά ενός σετ Python. Ας δούμε μερικούς από τους τρόπους με τους οποίους μπορείτε να το χρησιμοποιήσετε στο πρόγραμμά σας.
Χρησιμοποιείτε σγουρά τιράντες για να δημιουργήσετε ένα σετ στο Python. Έτσι, ένα σετ είναι μια λίστα με αντικείμενα σε σγουρά τιράντες διαχωρισμένα με κόμματα:
mySet = {1, 2, "MUO", "Google"}
εκτύπωση (mySet)
Έξοδος: {1, 2, "MUO", "Google"}
Μπορείτε επίσης να μετατρέψετε οποιονδήποτε άλλο τύπο δεδομένων σε ένα σύνολο. Για παράδειγμα, ο παρακάτω κώδικας μετατρέπει μια λίστα σε ένα σύνολο:
myList = [1, 2, "MUO", "Google"]
mySet = σύνολο (myList)
εκτύπωση (mySet)
Έξοδος: {1, 2, "MUO", "Google"}
Για να είστε σίγουροι, μπορείτε να ελέγξετε τον τύπο δεδομένων του mySet:
myList = [1, 2, "MUO", "Google"]
mySet = σύνολο (myList)
εκτύπωση (τύπος (mySet))
Παραγωγή:
Όπως αναφέραμε νωρίτερα, ένα σύνολο δεν δέχεται διπλότυπα. Αυτή η δυνατότητα μπορεί να είναι χρήσιμη όταν θέλετε να καθαρίσετε έναν πίνακα αφαιρώντας διπλές τιμές.
Ο παρακάτω κώδικας αφαιρεί τα αντίγραφα σε μια λίστα και παρουσιάζει την έξοδο ως σύνολο Python:
myList = [1, 2, 2 "MUO", "MUO", "Google", "Google"]
mySet = σύνολο (myList)
εκτύπωση (mySet)
Έξοδος: {1, 2, "MUO", "Google"}
Για να αποδείξετε περαιτέρω τη δυνατότητα φιλτραρίσματος ενός συνόλου, όταν εκτυπώνετε το μήκος ενός συνόλου, δεν μετράει διπλές τιμές:
mySet = {1, 2, 2, "MUO", "MUO", "Google", "Google"}
εκτύπωση (len (mySet))
Έξοδος: 4
Για να δείτε μια καλύτερη περίπτωση χρήσης ενός συνόλου, ας αφαιρέσουμε τα διπλότυπα στον ακόλουθο πίνακα. Είναι σαν να ρωτάτε τα μοναδικά κλειδιά σε έναν πίνακα.
Για να το κάνετε αυτό, μετατρέψτε ένα λεξικό σε ένα σύνολο:
myDiction = {
"Mango": 2, "Orange": 2, "carrot": 2, "MUO": "tech",
"MUO": "web", "Google": "search", "Google": "engine"
}
uniqueSet = set (myDiction)
εκτύπωση ("Αυτά είναι τα μοναδικά κλειδιά: {}". format (uniqueSet))
Έξοδος: Αυτά είναι τα μοναδικά κλειδιά: {'Google', 'Mango', 'MUO', 'Orange', 'carrot'}
Η παραπάνω μετατροπή αφαιρεί αυτόματα τα διπλά στοιχεία από τον πίνακα.
Μπορείτε να τροποποιήσετε τον παραπάνω κώδικα χρησιμοποιώντας ένα για βρόχο για να καταστεί σαφέστερο:
για μοναδικά στο uniqueSet:
εκτύπωση (μοναδικά)
Μπορείτε επίσης να ενώσετε δύο σετ με το ένωση() μέθοδος:
setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA.union (setB)
εκτύπωση (newSet)
Έξοδος: {1, 3, 4, 5, 6}
Ωστόσο, ο παραπάνω κωδικός ενώνει τα δύο σύνολα και καταργεί τις διπλές τιμές.
Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το σωλήνα | Λειτουργία για ένωση σετ στο Python:
setA = {1, 3, 5}
setB = {1, 4, 6}
newSet = setA | setB
εκτύπωση (newSet)
Έξοδος: {1, 3, 4, 5, 6}
Μπορείτε επίσης να βρείτε τη διαφορά μεταξύ δύο σετ στο Python:
setA = {1, 3, 5}
setB = {2, 4, 5,}
εκτύπωση (setA.difference (setB))
Έξοδος: {1, 3}
Μπορείτε να βρείτε τη συμμετρική διαφορά μεταξύ των συνόλων Α και Β. Αυτή η μέθοδος επιστρέφει τα στοιχεία σε οποιοδήποτε σετ αλλά εξαιρεί τα τέμνοντά τους. Ας δούμε πώς λειτουργεί:
setA = {1, 3, 5}
setB = {2, 4, 5,}
εκτύπωση (setA ^ setB)
Έξοδος: {1, 2, 3, 4}
Εναλλακτικά, μπορείτε να χρησιμοποιήσετε το συμμετρική_διαφορά () μέθοδος:
setA = {1, 3, 5}
setB = {2, 4, 5,}
εκτύπωση (setA.symmetric_difference (setB))
Έξοδος: {1, 2, 3, 4}
Ας δούμε επίσης πώς μπορείτε να βρείτε τη διασταύρωση των συνόλων παρακάτω:
setA = {1, 3, 5}
setB = {1, 4, 6}
setC = {1, 5, 4}
newSet = setA.intersection (setB, setC)
εκτύπωση (newSet)
Έξοδος: {1}
Ενώ μπορείτε επισυνάψτε σε μια λίστα στο Python, δεν μπορείτε να κάνετε το ίδιο πράγμα για ένα σετ Python. Ωστόσο, μπορείτε να προσθέσετε ένα στοιχείο στο τέλος ενός συνόλου χρησιμοποιώντας το Προσθήκη λειτουργία.
Αλλά ο Πύθων Προσθήκη Η συνάρτηση δέχεται ένα όρισμα, οπότε μπορείτε να προσθέσετε μόνο μια πλειάδα σε ένα σύνολο. Αυτό επιστρέφει ένα ένθετο σύνολο:
setA = {1, 3, 5} setC = {1, 3}
newSet = 1, 6
setC.add (newSet)
εκτύπωση (setC)
Έξοδος: {1, (1, 6), 3}
Το σετ Python χρησιμοποιεί το isdisjoint () μέθοδος για να ελέγξετε εάν διαχωρίζονται δύο σύνολα. Στη συνέχεια επιστρέφει ένα Boolean:
setA = {1, 3, 5}
setB = {1, 4, 6}
findDisjoint = setA.isdisjoint (setB)
εκτύπωση ("Είναι {} ότι το setA είναι χωριστό από B" .format (findDisjoint))
Έξοδος: Είναι λάθος ότι το setA είναι χωριστό από το B
Για να ελέγξετε αν ένα σετ είναι υποσύνολο άλλου, αντικαταστήστε το isdisjoint () με έκδοση ():
findSubset = setA.issubset (setB)
Μπορείτε να καταργήσετε ένα στοιχείο από ένα σύνολο:
setA = {1, 3, 5}
setA.remove (5)
εκτύπωση (setA)
Έξοδος: {1, 3}
ο Σαφή() Η μέθοδος διαγράφει τα στοιχεία σε ένα σύνολο και επιστρέφει ένα κενό σύνολο:
setA = {1, 3, 5}
setA.clear ()
εκτύπωση (setA)
Έξοδος: σετ ()
Μπορείτε να καταργήσετε ένα αυθαίρετο στοιχείο από ένα σύνολο και να επιστρέψετε την αξία του χρησιμοποιώντας το set.pop () μέθοδος:
setA = {1, 3, 5}
εκτύπωση (setA.pop ())
Μπορείτε επίσης να ενημερώσετε ένα σύνολο Python με τη μέθοδο ενημέρωσης ():
setA = {1, "b"}
setB = {2, 4, 5,}
εκτύπωση (setA.update (setB))
εκτύπωση (setA)
Έξοδος: {1, 2, 4, 5, 'b'}
Παίξτε γύρω με Python Sets
Παρόλο που έχουμε δει πώς μπορείτε να χρησιμοποιήσετε ένα σετ στο Python, υπάρχουν ακόμα άλλοι πρακτικοί τρόποι εφαρμογής του στον κώδικά σας. Όπως έχετε δει, μπορεί ακόμη και να είναι χρήσιμο κατά τον καθαρισμό δεδομένων με την Python.
Εκτός από ένα σύνολο, άλλοι τύποι δεδομένων ή πίνακες Python έχουν πολλές χρήσεις και διάφορες εφαρμογές. Προσπαθήστε να παίξετε μαζί τους για να τα έχετε καλύτερα.
Οι πίνακες και οι λίστες είναι μερικές από τις πιο χρήσιμες δομές δεδομένων στον προγραμματισμό - αν και λίγοι άνθρωποι τις χρησιμοποιούν στο μέγιστο των δυνατοτήτων τους.
Διαβάστε Επόμενο
- Προγραμματισμός
- Πύθων
Το Idowu είναι παθιασμένο με οτιδήποτε έξυπνη τεχνολογία και παραγωγικότητα. Στον ελεύθερο χρόνο του, παίζει με την κωδικοποίηση και αλλάζει στη σκακιέρα όταν βαριέται, αλλά αγαπά επίσης να ξεφεύγει από τη ρουτίνα κάποτε. Το πάθος του για να δείξει στους ανθρώπους το δρόμο γύρω από τη σύγχρονη τεχνολογία τον παρακινεί να γράφει περισσότερα.
Εγγραφείτε στο Newsletter μας
Εγγραφείτε στο ενημερωτικό δελτίο μας για τεχνικές συμβουλές, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!
Ένα ακόμη βήμα…!
Επιβεβαιώστε τη διεύθυνση email σας στο email που μόλις σας στείλαμε.