background image

>>> 

# Tuples may be nested:

... 

=

 t, (

1

2

3

4

5

)

>>> 

u

((12345, 54321, 'hello!'), (1, 2, 3, 4, 5))

>>> 

# Tuples are immutable:

... 

t[

0

=

 

88888

Traceback (most recent call last):

  File 

"<stdin>"

, line 

1

, in <module>

TypeError

: 'tuple' object does not support item assignment

>>> 

# but they can contain mutable objects:

... 

=

 ([

1

2

3

], [

3

2

1

])

>>> 

v

([1, 2, 3], [3, 2, 1])

Όπως μπορείτε να δείτε, οι πλειάδες εξόδου είναι πάντα 

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

Αν και τα  tuples  μπορεί να φαίνονται παρόμοια με τις 

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

Ένα ιδιαίτερο πρόβλημα είναι η κατασκευή των πλειάδων 

που   περιέχουν   0   ή   1   στοιχεία:   η   σύνταξη   έχει   κάποιες 
επιπλέον ιδιορρυθμίες για να δεχθεί αυτές. Το άδειασμα ενός 
tuple  υλοποιείτε   με   τη   χρήση   ενός   άδειου   ζευγαριού 
παρενθέσεων.   Μια   πλειάδα   με   ένα   στοιχείο   κατασκευάζεται 
ακολουθώντας μια τιμή με ένα κόμμα (δεν αρκεί να επισυνάψουν 
μια   μοναδική   τιμή   σε   παρένθεση).   Άσχημο   ,   αλλά 
αποτελεσματικό. Για παράδειγμα :

http://arch.icte.uowm.gr

 - A Mini greek notebook for Learning Python Programming 

40