Όπως συζητήθηκε στο προηγούμενο κεφάλαιο, οι πλειάδες είναι αμετάβλητες (immutable) και συνήθως αποθηκεύουν ετερογενή δεδομένα, αν και τα δεδομένα μπορούν να είναι και ομογενή. Το μήκος μιας πλειάδας είναι ο αριθμός των στοιχείων της και δεν μπορεί να αλλάξει κατά τη διάρκεια της εκτέλεσης του προγράμματος.
Δημιουργία Πλειάδων
Για να δημιουργήσετε μια κενή πλειάδα, χρησιμοποιήστε άδειες παρενθέσεις:
empty_tuple = ()
Θυμηθείτε ότι μπορείτε να “συσκευάσετε” μια πλειάδα απλώς χωρίζοντας τις τιμές της με κόμματα:
packed_tuple = 1, 2, 3
Όταν εκτυπώνεται μια πλειάδα, η Python πάντα εμφανίζει τα περιεχόμενά της μέσα σε παρενθέσεις. Μπορείτε να περιβάλλετε την κόμμα-διαχωρισμένη λίστα τιμών μιας πλειάδας με προαιρετικές παρενθέσεις:
optional_parentheses_tuple = (1, 2, 3)
Ο παρακάτω κώδικας δημιουργεί μια πλειάδα με ένα στοιχείο:
a_singleton_tuple = ('red',)
Το κόμμα (,) που ακολουθεί τη συμβολοσειρά ‘red’ καθορίζει το a_singleton_tuple
ως πλειάδα – οι παρενθέσεις είναι προαιρετικές. Αν το κόμμα παραλειφθεί, οι παρενθέσεις θα ήταν περιττές, και το a_singleton_tuple
θα αναφερόταν απλώς στη συμβολοσειρά ‘red’ αντί για μια πλειάδα.
Πρόσβαση σε Στοιχεία Tuple στην Python
Η Python παρέχει τη δυνατότητα να διαχειριστούμε δεδομένα μέσω δομών όπως τα tuples. Ας δούμε πώς μπορούμε να προσπελάσουμε τα στοιχεία ενός tuple και τι ισχύει όσον αφορά τις επεκτάσεις τους.
Πρόσβαση σε Στοιχεία Tuple
Τα tuples είναι δομές δεδομένων που μπορούν να περιέχουν στοιχεία διαφόρων τύπων. Η πρόσβαση στα στοιχεία τους γίνεται με χρήση δεικτών (indices), ξεκινώντας από το 0. Για παράδειγμα:
time_tuple = (12, 30, 45) # ώρα, λεπτό, δευτερόλεπτο hour = time_tuple[0] # πρόσβαση στην ώρα minute = time_tuple[1] # πρόσβαση στο λεπτό second = time_tuple[2] # πρόσβαση στο δευτερόλεπτο
Ανάθεση Τιμών και TypeError
Τα tuples είναι αμετάβλητες δομές (immutable), πράγμα που σημαίνει ότι δεν μπορείς να αλλάξεις τις τιμές των στοιχείων τους μετά τη δημιουργία τους. Η προσπάθεια ανάθεσης μιας νέας τιμής θα προκαλέσει TypeError
.
Προσθήκη Στοιχείων σε String ή Tuple
Αν και τα tuples είναι αμετάβλητα, μπορείς να χρησιμοποιήσεις τον τελεστή +=
για να συνδυάσεις tuples ή strings. Αυτό δημιουργεί ένα νέο tuple ή string και όχι τροποποίηση του αρχικού.
tuple1 = (10, 20) tuple2 = tuple1 tuple1 += (40, 50) # δημιουργείται νέο tuple print(tuple1) # εκτυπώνει (10, 20, 40, 50) print(tuple2) # εκτυπώνει (10, 20), αφού αναφέρεται στο αρχικό tuple
Σημειώστε ότι για τον τελεστή +=
πρέπει να χρησιμοποιήσετε τον ίδιο τύπο δεδομένων (δηλαδή, να προσθέτετε tuple με tuple, string με string) για να αποφύγετε το TypeError
.
Προσθήκη Tuples σε Λίστες στην Python
Η διαχείριση δεδομένων στην Python συχνά απαιτεί τη χρήση διαφορετικών δομών δεδομένων όπως λίστες και tuples. Ας εξετάσουμε πώς μπορούμε να προσθέσουμε tuples σε λίστες και πώς μπορεί να διαχειριστούμε τα στοιχεία τους.
Προσθήκη Tuples σε Λίστες
Μπορείτε να χρησιμοποιήσετε τον τελεστή +=
για να προσθέσετε ένα tuple σε μια λίστα. Αυτή η διαδικασία επεκτείνει τη λίστα με τα στοιχεία του tuple.
my_list = [1, 2, 3] my_tuple = (4, 5) my_list += my_tuple # προσθήκη του tuple στη λίστα print(my_list) # εκτυπώνει [1, 2, 3, 4, 5]
Tuples που Περιέχουν Μεταβλητά Αντικείμενα
Ένα ενδιαφέρον χαρακτηριστικό των tuples είναι ότι μπορούν να περιέχουν μεταβλητά (mutable) αντικείμενα όπως λίστες.
student_tuple = ("Νίκος", "Παπαδόπουλος", [98, 75, 87])
Αν και το tuple είναι αμετάβλητο, τα στοιχεία του που είναι μεταβλητά, όπως η λίστα των βαθμών, μπορούν να τροποποιηθούν.
student_tuple[2][1] = 85 # αλλαγή του βαθμού 75 σε 85 print(student_tuple) # εκτυπώνει ("Νίκος", "Παπαδόπουλος", [98, 85, 87])
Στο παράδειγμα αυτό, student_tuple[2]
αναφέρεται στη λίστα των βαθμών και student_tuple[2][1]
προσπελαύνει το δεύτερο στοιχείο της λίστας (με αρχική τιμή 75), το οποίο τροποποιούμε σε 85.