Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

5.3 Πλειάδες (Tuples)

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

Δημιουργία Πλειάδων

Για να δημιουργήσετε μια κενή πλειάδα, χρησιμοποιήστε άδειες παρενθέσεις:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
empty_tuple = ()
empty_tuple = ()
empty_tuple = ()

Θυμηθείτε ότι μπορείτε να “συσκευάσετε” μια πλειάδα απλώς χωρίζοντας τις τιμές της με κόμματα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
packed_tuple = 1, 2, 3
packed_tuple = 1, 2, 3
packed_tuple = 1, 2, 3

Όταν εκτυπώνεται μια πλειάδα, η Python πάντα εμφανίζει τα περιεχόμενά της μέσα σε παρενθέσεις. Μπορείτε να περιβάλλετε την κόμμα-διαχωρισμένη λίστα τιμών μιας πλειάδας με προαιρετικές παρενθέσεις:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
optional_parentheses_tuple = (1, 2, 3)
optional_parentheses_tuple = (1, 2, 3)
optional_parentheses_tuple = (1, 2, 3)

Ο παρακάτω κώδικας δημιουργεί μια πλειάδα με ένα στοιχείο:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
a_singleton_tuple = ('red',)
a_singleton_tuple = ('red',)
a_singleton_tuple = ('red',)

Το κόμμα (,) που ακολουθεί τη συμβολοσειρά ‘red’ καθορίζει το a_singleton_tuple ως πλειάδα – οι παρενθέσεις είναι προαιρετικές. Αν το κόμμα παραλειφθεί, οι παρενθέσεις θα ήταν περιττές, και το a_singleton_tuple θα αναφερόταν απλώς στη συμβολοσειρά ‘red’ αντί για μια πλειάδα.

Πρόσβαση σε Στοιχεία Tuple στην Python

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

Πρόσβαση σε Στοιχεία Tuple

Τα tuples είναι δομές δεδομένων που μπορούν να περιέχουν στοιχεία διαφόρων τύπων. Η πρόσβαση στα στοιχεία τους γίνεται με χρήση δεικτών (indices), ξεκινώντας από το 0. Για παράδειγμα:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
time_tuple = (12, 30, 45) # ώρα, λεπτό, δευτερόλεπτο
hour = time_tuple[0] # πρόσβαση στην ώρα
minute = time_tuple[1] # πρόσβαση στο λεπτό
second = time_tuple[2] # πρόσβαση στο δευτερόλεπτο
time_tuple = (12, 30, 45) # ώρα, λεπτό, δευτερόλεπτο hour = time_tuple[0] # πρόσβαση στην ώρα minute = time_tuple[1] # πρόσβαση στο λεπτό second = time_tuple[2] # πρόσβαση στο δευτερόλεπτο
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 και όχι τροποποίηση του αρχικού.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
tuple1 = (10, 20)
tuple2 = tuple1
tuple1 += (40, 50) # δημιουργείται νέο tuple
print(tuple1) # εκτυπώνει (10, 20, 40, 50)
print(tuple2) # εκτυπώνει (10, 20), αφού αναφέρεται στο αρχικό tuple
tuple1 = (10, 20) tuple2 = tuple1 tuple1 += (40, 50) # δημιουργείται νέο tuple print(tuple1) # εκτυπώνει (10, 20, 40, 50) print(tuple2) # εκτυπώνει (10, 20), αφού αναφέρεται στο αρχικό tuple
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.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_list = [1, 2, 3]
my_tuple = (4, 5)
my_list += my_tuple # προσθήκη του tuple στη λίστα
print(my_list) # εκτυπώνει [1, 2, 3, 4, 5]
my_list = [1, 2, 3] my_tuple = (4, 5) my_list += my_tuple # προσθήκη του tuple στη λίστα print(my_list) # εκτυπώνει [1, 2, 3, 4, 5]
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) αντικείμενα όπως λίστες.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
student_tuple = ("Νίκος", "Παπαδόπουλος", [98, 75, 87])
student_tuple = ("Νίκος", "Παπαδόπουλος", [98, 75, 87])
student_tuple = ("Νίκος", "Παπαδόπουλος", [98, 75, 87])

Αν και το tuple είναι αμετάβλητο, τα στοιχεία του που είναι μεταβλητά, όπως η λίστα των βαθμών, μπορούν να τροποποιηθούν.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
student_tuple[2][1] = 85 # αλλαγή του βαθμού 75 σε 85
print(student_tuple) # εκτυπώνει ("Νίκος", "Παπαδόπουλος", [98, 85, 87])
student_tuple[2][1] = 85 # αλλαγή του βαθμού 75 σε 85 print(student_tuple) # εκτυπώνει ("Νίκος", "Παπαδόπουλος", [98, 85, 87])
student_tuple[2][1] = 85  # αλλαγή του βαθμού 75 σε 85
print(student_tuple)      # εκτυπώνει ("Νίκος", "Παπαδόπουλος", [98, 85, 87])

Στο παράδειγμα αυτό, student_tuple[2] αναφέρεται στη λίστα των βαθμών και student_tuple[2][1] προσπελαύνει το δεύτερο στοιχείο της λίστας (με αρχική τιμή 75), το οποίο τροποποιούμε σε 85.

12 Ιανουαρίου, 2024
top
error: Content is protected !!
Μετάβαση σε γραμμή εργαλείων