Συλλογές στο Python: Όλα όσα πρέπει να ξέρετε για τις συλλογές Python



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

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

Τι είναι οι συλλογές στο Python;

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





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

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



  • Ένα σετ είναι αταξινόμητο και δηλώνεται σε αγκύλες. Δεν είναι ευρετηριασμένο και δεν έχει διπλές καταχωρίσεις επίσης.

  • Ένα λεξικό έχει ζεύγη τιμών κλειδιών και έχει μεταβλητό χαρακτήρα. Χρησιμοποιούμε αγκύλες για να δηλώσουμε λεξικό.

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



Ειδικές δομές συλλογής δεδομένων

Συλλογές ενότητα στο python εφαρμόζει εξειδικευμένες δομές δεδομένων που παρέχουν εναλλακτική λύση στους ενσωματωμένους τύπους δεδομένων κοντέινερ της python. Ακολουθούν οι εξειδικευμένες δομές δεδομένων στην ενότητα συλλογών.

  1. όνομαtuple ()
  2. και
  3. Χάρτης αλυσίδας
  4. Μετρητής
  5. Παραγγελία
  6. προεπιλογή
  7. UserDict
  8. Λίστα χρηστών
  9. UserString

όνομαtuple ()

Επιστρέφει μια πλειάδα με μια ονομαστική καταχώρηση, που σημαίνει ότι θα υπάρχει ένα όνομα που θα εκχωρηθεί σε κάθε τιμή στην πλειάδα. Ξεπερνά το πρόβλημα της πρόσβασης στα στοιχεία χρησιμοποιώντας τις τιμές ευρετηρίου. Με το όνομαtuple () γίνεται ευκολότερη η πρόσβαση σε αυτές τις τιμές, καθώς δεν χρειάζεται να θυμάστε τις τιμές ευρετηρίου για να λάβετε συγκεκριμένα στοιχεία.

Πως δουλεύει?

Πρώτα απ 'όλα, πρέπει να εισαγάγετε τη συλλογή συλλογών, δεν απαιτεί εγκατάσταση.

από συλλογές εισαγωγής bernamatuple

Κοιτάξτε τον παρακάτω κώδικα για να κατανοήσετε πώς μπορείτε να χρησιμοποιήσετε το όνομαtuple.

λάβετε μήκος javascript του πίνακα
a = bernamatuple ('course', 'name, tech') s = a ('data science', 'python') print (s) # η έξοδος θα είναι μαθήματα (name = 'python', tech = 'python')

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

s._make (['data science', 'python']) # η έξοδος θα είναι ίδια όπως και πριν.

και

Το deque προφέρεται ως «κατάστρωμα» είναι μια βελτιστοποιημένη λίστα για εύκολη εισαγωγή και διαγραφή.

μέθοδος υπερφόρτωσης και παράκαμψη μεθόδου σε java

Πως δουλεύει?

# δημιουργία ενός deque από συλλογές εισαγάγετε deque a = ['d', 'u', 'r', 'e', ​​'k'] a1 = deque (a) print (a1) # η έξοδος θα είναι deque (['' d ',' u ',' r ',' e ',' k '])

Τώρα ας ρίξουμε μια ματιά στο πώς θα εισαγάγουμε και θα αφαιρέσουμε αντικείμενα από το deque.

a1.append ('a') print (a1) # η έξοδος θα είναι deque (['d', 'u', 'r', 'e', ​​'k', 'a']) a1.appendleft (' e ') print (a1) # η έξοδος θα είναι deque ([' e ',' d ',' u ',' r ',' e ',' k ',' a '])

Όπως θα έπρεπε να είναι προφανές, η εισαγωγή ενός εξαρτήματος ενισχύεται χρησιμοποιώντας το deque, μπορείτε επίσης να αφαιρέσετε και τα εξαρτήματα.

a1.pop () print (a1) # η έξοδος θα είναι deque (['e', 'd', 'u', 'r', 'e', ​​'k']) a1.popleft () print (a1 ) # η έξοδος θα είναι deque (['d', 'u', 'r', 'e', ​​'k'])

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

Χάρτης αλυσίδας

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

Πως δουλεύει?

από συλλογές εισαγάγετε το ChainMap a = {1: 'edureka', 2: 'python'} b = {3: 'data science', 4: 'Machine learning'} c = ChainMap (a, b) print (c) #the Η έξοδος θα είναι ChainMap [{1: 'edureka', 2: 'python'}, {3: 'data science', 4: 'Machine learning'}]

Για πρόσβαση ή εισαγωγή στοιχείων χρησιμοποιούμε τα πλήκτρα ως ευρετήριο. Αλλά για να προσθέσουμε ένα νέο λεξικό στο ChainMap χρησιμοποιούμε την ακόλουθη προσέγγιση.

a1 = {5: 'AI', 6: 'neural network'} c1 = c.new_child (a1) print (c1) #the output θα είναι ChainMap [{1: 'edureka', 2: 'python'}, { 3: «επιστήμη δεδομένων», 4: «Μηχανική εκμάθηση»}, {5: «AI», 6: «νευρωνικά δίκτυα»}]

Μετρητής

Είναι μια υποκατηγορία λεξικών που χρησιμοποιείται για τη μέτρηση κατακερματισμένων αντικειμένων.

Πως δουλεύει?

από συλλογές εισαγωγής Μετρητής a = [1,1,1,1,2,3,3,4,3,3,4] c = Μετρητής (a) εκτύπωσης (c) # η έξοδος θα είναι Counter = ({1: 4, 2: 1, 3: 4, 4: 2})

Εκτός από τις λειτουργίες που μπορείτε να εκτελέσετε σε ένα λεξικό Ο μετρητής έχει 3 ακόμη λειτουργίες που μπορούμε να εκτελέσουμε.

  1. element function - Επιστρέφει μια λίστα που περιέχει όλα τα στοιχεία του Counter.
  2. Most_common () - Επιστρέφει μια ταξινομημένη λίστα με το πλήθος κάθε στοιχείου στον μετρητή.
  3. Αφαίρεση () - Παίρνει ένα επαναλαμβανόμενο αντικείμενο ως όρισμα και αφαιρεί το πλήθος των στοιχείων στον Μετρητή.

Παραγγελία

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

Πως δουλεύει?

από συλλογές εισαγωγής OrderedDict od = OrderedDict () od [1] = 'e' od [2] = 'd' od [3] = 'u' od [4] = 'r' od [5] = 'e' od [6] = 'k' από [7] = 'a' print (from) # η έξοδος θα είναι OrderedDict [(1, 'e'), (2, 'd'), (3, 'u'), (4, «r»), (5, «e»), (6, «k»), (7, «a»)]

Δεν έχει σημασία ποια τιμή εισάγεται στο λεξικό, το OrderedDict θυμάται τη σειρά με την οποία εισήχθη και λαμβάνει την έξοδο ανάλογα. Ακόμα κι αν αλλάξουμε την τιμή του κλειδιού. Ας πούμε, εάν αλλάξουμε την τιμή κλειδιού 4 έως 8, η σειρά δεν θα αλλάξει στην έξοδο.

προεπιλογή

Είναι μια υποκατηγορία λεξικών που καλεί μια συνάρτηση του εργοστασίου για να παρέχει τιμές που λείπουν. Σε γενικές γραμμές, δεν ρίχνει σφάλματα όταν καλείται μια τιμή κλειδιού που λείπει σε ένα λεξικό.

Πως δουλεύει?

από συλλογές εισαγωγή defaultdict d = defaultdict (int) # πρέπει να καθορίσουμε και έναν τύπο. d [1] = 'edureka' d [2] = 'python' print (d [3]) #it θα δώσει την έξοδο ως 0 αντί για keyerror.

UserDict

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

συλλογές τάξης.UserDict ([αρχικά δεδομένα])

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

Λίστα χρηστών

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

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

δοκιμές βάσει δεδομένων στο σελήνιο
συλλογές τάξης. Λίστα χρηστών ([λίστα])

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

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

Έχετε απορίες; τα αναφέρετε στα σχόλια και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.