Τι είναι τα σύνολα στο Python και πώς να τα χρησιμοποιήσετε;



Μάθετε τι είναι τα σύνολα στο Python, πώς να τα δημιουργήσετε μαζί με διάφορες λειτουργίες. Θα μάθετε επίσης για τα κατεψυγμένα σύνολα και τη δημιουργία τους στο Python.

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

Τι είναι το Set στο Python;
Πότε να χρησιμοποιήσετε σετ στο Python;
Πώς δημιουργείτε ένα σετ;
Ορίστε λειτουργίες





Τι είναι τα παγωμένα σετ;

Ας αρχίσουμε. :-)



Τι είναι το Set στο Python;

Ένα σύνολο είναι βασικά ένας τύπος δεδομένων που αποτελείται από μια συλλογή στοιχείων χωρίς ταξινόμηση. Αυτά τα στοιχεία μπορούν να είναι σε οποιονδήποτε τύπο δεδομένων ως σύνολα, σε αντίθεση με ,δεν είναι ειδικά για τον τύπο. Τα σύνολα είναι μεταβλητά (αλλάξιμα) και δεν έχουν επαναλαμβανόμενα αντίγραφα στοιχείων. Οι τιμές ενός συνόλου arΣυνεπώς, το unindexed indexinΟι λειτουργίες g δεν μπορούν να εκτελεστούν σε σύνολα.

Παράδειγμα:

My_Set = {1, 's', 7,8} εκτύπωση (My_Set)

Παραγωγή: {‘S’, 1, 7.8}



Η έξοδος εμφανίζει όλα τα στοιχεία που υπάρχουν στο My_Set.

Σημείωση: Ένα σύνολο ως σύνολο είναι μεταβλητό αλλά τα στοιχεία ενός συνόλου δεν είναι.

Τώρα που ξέρετε τι είναι τα σύνολα στο Python, ας προχωρήσουμε και να καταλάβουμε πότε να χρησιμοποιήσουμε τα σετ.

c vs c ++ vs java

Πότε να χρησιμοποιήσετε σετ στο Python;

Τα σετ στο Python χρησιμοποιούνται όταν-

  • Η σειρά των δεδομένων δεν έχει σημασία
  • Δεν χρειάζεστε επαναλήψεις στα στοιχεία δεδομένων
  • Πρέπει να εκτελέσετε μαθηματικές λειτουργίες όπως ένωση, διασταύρωση κ.λπ.

Τώρα ας προχωρήσουμε και να δούμε πώς να δημιουργήσουμε σύνολα στο Python.

Πώς δημιουργείτε ένα σετ στο Python;

Τα σετ στο Python μπορούν να δημιουργηθούν με δύο τρόπους-

  • εγκλείοντας στοιχεία μέσα σε σγουρά τιράντες
  • χρησιμοποιώντας τη συνάρτηση set ()

1. Χρησιμοποιώντας σγουρά τιράντες:

Τα σετ στο Python δημιουργούνται χρησιμοποιώντας σγουρά τιράντες ({}).

 Παράδειγμα: 
My_Set = {1, 's', 7,8} εκτύπωση (My_Set)

Παραγωγή: {‘S’, 1, 7.8}

Όπως μπορείτε να δείτε, το My_Set έχει δημιουργηθεί.

2. Χρήση της λειτουργίας set ()

Τα σύνολα στο Python μπορούν να δημιουργηθούν χρησιμοποιώντας τη συνάρτηση set ().

Παράδειγμα:

a = set ({1, 'b', 6.9}) εκτύπωση (a)

Παραγωγή: {1, 'b', 6.9}

Μπορείτε επίσης να δημιουργήσετε ένα κενό σύνολο χρησιμοποιώντας την ίδια λειτουργία.

Παράδειγμα:

Empty_Set = set () εκτύπωση (Empty_Set)

Παραγωγή: σειρά()

Η παραπάνω έξοδος δείχνει ότι έχει δημιουργηθεί ένα κενό σύνολο με το όνομα Empty_Set.

Μπορείτε να προσθέσετε στοιχεία σε αυτό το κενό σύνολο. Θα το καλύψω στα ακόλουθα θέματα.

Ορίστε λειτουργίες

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

Παράδειγμα:

My_Set = {1, 's', 7,8} dir (My_Set)

Παραγωγή:

['__ και __', '__ class __', '__ περιέχει __', '__ delattr __', '__ dir __', '__ doc __', '__ eq __', '__ format __', '__ ge __', '__ getattribute__', '__gt__', '__h __iand__ ',' __init__ ',' __init_subclass__ ',' __ior__ ',' __isub__ ',' __iter__ ',' __ixor__ ',' __le__ ',' __len__ ',' __lt__ ',' __ne__ ',' __n____ ',' , '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__sub' __xor__ ',' add ',' clear ',' copy ',' difference ',' difference_update ',' discard ',' intersection ',' intersection_update ',' isdisjoint ',' issubset ',' issuperset ',' pop ' , 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

Η έξοδος δείχνει όλες τις μεθόδους που μπορούν να χρησιμοποιηθούν σε σύνολα. Θα δείξω μερικά από αυτά περαιτέρω σε αυτό το άρθρο.

Εύρεση του μήκους ενός συνόλου

Για να βρείτε το μήκος ενός σετ στο Python, μπορείτε να χρησιμοποιήσετε τη συνάρτηση len (). Αυτή η συνάρτηση παίρνει το όνομα του συνόλου ως παράμετρο και επιστρέφει μια ακέραια τιμή που είναι ίση με τον αριθμό των στοιχείων που υπάρχουν στο σύνολο.

Παράδειγμα:

My_Set = {1, 's', 7.8} len (My_Set)

Παραγωγή: 3

Όπως μπορείτε να δείτε στην παραπάνω έξοδο, έχουν επιστραφεί 3 που αντιστοιχούν στον αριθμό των στοιχείων που υπάρχουν στο My_Set. Τώρα, μπορείτε να έχετε πρόσβαση σε αυτά τα στοιχεία, όπως φαίνεται παρακάτω.

Πρόσβαση σε στοιχεία ενός συνόλου

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

Παράδειγμα:

My_Set = {1, 's', 7.8} για x στο My_Set: εκτύπωση (x)

Παραγωγή:

s 1 7.8

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

Προσθήκη στοιχείων σε ένα σύνολο:

Τα στοιχεία μπορούν να προστεθούν σε ένα σύνολο χρησιμοποιώντας δύο συναρτήσεις, το Προσθήκη() και το εκσυγχρονίζω() λειτουργία.

Η συνάρτηση add () προσθέτει ένα στοιχείο στο υπάρχον σύνολο όπως φαίνεται παρακάτω:

Παράδειγμα:

My_Set = {1, 's', 7.8} My_Set.add (3) My_Set

Παραγωγή: {1, 3, 7.8, 's'}

Η συνάρτηση ενημέρωσης () χρησιμοποιείται όταν θέλετε να προσθέσετε περισσότερα από ένα στοιχεία στο υπάρχον σύνολο.

Παράδειγμα:

My_Set = {1, 's', 7.8} My_Set.update ([2,4.6,1, 'r']) My_Set

Παραγωγή: {1, 2, 4.6, 7.8, 'r', 's'}

Όπως μπορείτε να δείτε στην παραπάνω έξοδο, η συνάρτηση ενημέρωσης () λαμβάνει μια λίστα με 4 τιμές και όλες οι τιμές εκτός από 1 προστίθενται στο My_Set. Αυτό συμβαίνει επειδή το 1 υπάρχει ήδη στο σετ και επομένως δεν μπορεί να προστεθεί ξανά.

Αφαίρεση στοιχείων ενός συνόλου

Για να αφαιρέσετε στοιχεία από ένα σύνολο, μπορείτε να χρησιμοποιήσετε είτε το αφαιρώ(), απορρίπτω() και το ποπ () λειτουργίες.

Η συνάρτηση remove () παίρνει μια παράμετρο που είναι το στοιχείο που πρέπει να αφαιρεθεί από το σετ.

Παράδειγμα:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.remove (2) εκτύπωση (My_Set)

Παραγωγή: {1, 4.6, 7.8, 'r', 's'}

Όπως μπορείτε να δείτε, το 2 έχει αφαιρεθεί από το σετ χρησιμοποιώντας τη λειτουργία remove (). Σε περίπτωση που καθορίσετε κάποιο στοιχείο ως παράμετρο για την κατάργηση () που δεν υπάρχει στο σύνολο, θα εμφανιστεί σφάλμα.

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

Παράδειγμα:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.discard (4.6) My_Set.discard ('i') εκτύπωση (My_Set)

Παραγωγή: {1, 2, 7.8, 'r', 's'}

Η παραπάνω έξοδος δείχνει ότι το 4.6 έχει αφαιρεθεί από το My_Set, αλλά η απόρριψη () δεν έχει ρίξει σφάλμα όταν χρησιμοποίησα το My_Set.discard («i») παρόλο που το «i» δεν υπάρχει στο σετ μου.

Η συνάρτηση pop () αφαιρεί επίσης τα καθορισμένα στοιχεία, αλλά δεδομένου ότι ένα σύνολο δεν έχει ταξινομηθεί, δεν θα γνωρίζετε ποιο στοιχείο έχει αφαιρεθεί.

Παράδειγμα:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.pop () εκτύπωση (My_Set)

Παραγωγή: {2, 4.6, 7.8, 'r', 's'}

Η έξοδος δείχνει ότι, χρησιμοποιώντας pop () κάποιο τυχαίο στοιχείο έχει αφαιρεθεί, το οποίο σε αυτήν την περίπτωση είναι 1.

Τώρα, σε περίπτωση που θέλετε να διαγράψετε όλα τα στοιχεία που υπάρχουν σε ένα σύνολο, μπορείτε να χρησιμοποιήσετε το Σαφή() μέθοδος.

Παράδειγμα:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} My_Set.clear () εκτύπωση (My_Set)

Παραγωγή: σειρά()

Όπως μπορείτε να δείτε στην παραπάνω έξοδο, το My_Set είναι ένα κενό σύνολο.

Σε περίπτωση που θέλετε να διαγράψετε πλήρως το σετ, μπορείτε να χρησιμοποιήσετε το απο λέξη-κλειδί.

Παράδειγμα:

My_Set = {1, 2, 4.6, 7.8, 'r', 's'} del My_Set εκτύπωση (My_Set)

Όταν εκτελείτε τον παραπάνω κώδικα, θα εμφανιστεί σφάλμα επειδή το My_Set έχει διαγραφεί.

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

Ένωση συνόλων

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

  • Χρήση αγωγού
  • Χρήση συνάρτησης Union ()

Χρησιμοποιώντας το σύμβολο αγωγού:

Δύο σετ μπορούν να συνδυαστούν χρησιμοποιώντας το | σύμβολο ως εξής:

Παράδειγμα:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = a | b εκτύπωση (a | b)

Παραγωγή: {1, 2, 4.6, 5, 7.8, 'r', 'abc', 's', 'd'}

Όπως μπορείτε να δείτε, στην παραπάνω έξοδο, μια ένωση των συνόλων a και set b αποθηκεύεται σε ένα νέο σύνολο c. Μπορείτε επίσης να συνδυάσετε περισσότερα από δύο σετ χρησιμοποιώντας το | σύμβολο.

Παράδειγμα:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {2,3,4,5} d = a | b | c εκτύπωση (δ)

Παραγωγή:

{1, 2, 3, 4, 4.6, 5, 7.8, 'abc', 'd', 'r', 's'}

Χρησιμοποιώντας τη μέθοδο ένωση ():

Για να συνδυάσετε δύο ή περισσότερα σύνολα, μπορείτε να χρησιμοποιήσετε τη μέθοδο ένωση () ως εξής:

Παράδειγμα:

a = {1, 2, 4.6, 7.8, 'r', 's'} b = {2,5, 'd', 'abc'} c = {'m', 23,76,4,7} εκτύπωση (' Ορίστε μια εκτύπωση U b = ', a.union (b)) (' Ορίστε ένα U b U c = ', a.union (b, c))

Παραγωγή:

Ορίστε ένα U b = {1, 2, 4.6, 5, 7.8, 'r', 'abc', 's', 'd'}

Ορίστε ένα U b U c = {1, 2, 4.6, 5, 4.7, 7.8, 'r', 76, 23, 'abc', 'm', 's', 'd'}

Η παραπάνω έξοδος δείχνει ότι το d είναι μια ένωση των συνόλων a, b και c.

Διασταύρωση συνόλων

Η τομή δύο ή περισσότερων συνόλων είναι ένα νέο σύνολο που αποτελείται μόνο από τα κοινά στοιχεία που υπάρχουν σε αυτά τα σύνολα.

Αυτό μπορεί να γίνει με δύο τρόπους:

  • Χρησιμοποιώντας το σύμβολο «&»
  • Χρησιμοποιώντας τη συνάρτηση διατομής ()

Χρησιμοποιώντας το σύμβολο «&»:

Μπορείτε να προσδιορίσετε τη διασταύρωση δύο ή περισσότερων συνόλων χρησιμοποιώντας το σύμβολο «&» ως εξής:

Παράδειγμα:

a = {1, 2,5, 4,6, 7,8, 'r', 's '} b = {2,5,' d ',' abc '} c = {2,3,4,} εκτύπωση (a & b) εκτύπωση (a & b & c)

Παραγωγή:

{2, 5} {2}

Η παραπάνω έξοδος δείχνει την ένωση των συνόλων a, b και c.

Χρησιμοποιώντας τη συνάρτηση διατομής ():

Μπορείτε να προσδιορίσετε τη διασταύρωση δύο ή περισσότερων συνόλων χρησιμοποιώντας τη συνάρτηση διατομής () ως εξής:

Παράδειγμα:

a = {1, 2,5, 4,6, 7,8, 'r', 's '} b = {2,5,' d ',' abc '} c = {2,3,4} εκτύπωση (' Ορισμός a διασταύρωση b = ', a.σύνθεση (b)) εκτύπωση (' Ορισμός διασταύρωσης b διασταύρωση c = ', α. διασταύρωση (b, c))

Παραγωγή:

Ορισμός διασταύρωσης b = {2, 5}

Ορισμός διασταύρωσης b διασταύρωση c = {2}

Η παραπάνω έξοδος δείχνει τη διασταύρωση των συνόλων a, b και c.

πότε να το χρησιμοποιήσετε. στην Ιάβα

Διαφορά συνόλων:

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

Αυτό μπορεί να γίνει με δύο τρόπους:

  • Χρησιμοποιώντας το σύμβολο «-»
  • Χρήση της λειτουργίας διαφοράς ()

Χρησιμοποιώντας το σύμβολο «-»:

Για να βρείτε τη διαφορά δύο συνόλων χρησιμοποιώντας το σύμβολο «-», μπορείτε να κάνετε τα εξής:

Παράδειγμα:

a = {1, 2,5, 4,6, 7,8, 'r', 's '} b = {2,5,' d ',' abc '} c = {2,3,4} εκτύπωση (a-b-c)

Παραγωγή: {1, 4.6, 7.8, 'r', 's'}

Η έξοδος αποτελείται από όλα τα στοιχεία του συνόλου «a» εκτός από εκείνα που υπάρχουν στα «b» και «c».

Χρησιμοποιώντας τη λειτουργία διαφοράς ():

Η διαφορά των συνόλων μπορεί να προσδιοριστεί χρησιμοποιώντας την ενσωματωμένη λειτουργία διαφοράς () ως εξής:

Παράδειγμα:

a = {1, 2,5, 4,6, 7,8, 'r', 's '} b = {2,5,' d ',' abc '} c = {2,3,4} εκτύπωση (' Ορισμός a - b = ', a.difference (b)) print (' Set a - b - c = ', a.difference (b, c))

Παραγωγή:

Ορίστε a - b = {1, 4.6, 7.8, 'r', 's'}

Ορίστε a - b - c = {1, 4.6, 7.8, 'r', 's'}

Η παραπάνω έξοδος είναι το αποτέλεσμα της διαφοράς χρησιμοποιώντας τη συνάρτηση διαφορά ().

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

Τι είναι ένα κατεψυγμένο σετ;

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

Πώς να δημιουργήσετε κατεψυγμένα σύνολα;

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

Παράδειγμα:

a = {1, 2,5, 4,6, 7,8, 'r', 's'} b = frozenset (a) εκτύπωση (b)

Παραγωγή: frozenset ({1, 2, 4.6, 5, 7.8, 'r', 's'})

Η παραπάνω έξοδος αποτελείται από το σύνολο b που είναι μια παγωμένη έκδοση του συνόλου a.

Πρόσβαση σε στοιχεία ενός παγωμένου συνόλου

Τα στοιχεία ενός κατεψυγμένου συνόλου μπορούν να προσεγγιστούν με βρόχο μέσω αυτού ως εξής:

Παράδειγμα:

b = frozenset ([1, 2, 4.6, 5, 7.8, 'r', 's']) για x σε b: εκτύπωση (x)

Παραγωγή:

ένας
2
4.6
5
7.8
μικρό

Η παραπάνω έξοδος δείχνει ότι χρησιμοποιώντας το loop για όλα τα στοιχεία του κατεψυγμένου συνόλου b έχουν επιστραφεί το ένα μετά το άλλο. Τα κατεψυγμένα σύνολα είναι αμετάβλητα, επομένως, δεν μπορείτε να εκτελέσετε λειτουργίες όπως προσθήκη (), αφαίρεση (), ενημέρωση () κ.λπ. Ελπίζω να είστε ξεκάθαροι με όλα όσα έχουν μοιραστεί μαζί σας σε αυτό το σεμινάριο. Αυτό μας φέρνει στο τέλος του άρθρου μας για τα σύνολα στο Python. Βεβαιωθείτε ότι εξασκείστε όσο το δυνατόν περισσότερο και επαναφέρετε την εμπειρία σας.

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

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