Μία σειρά στοιχείων (αριθμών, συμβολοσειρών κλπ) μπορούν να ομαδοποιηθούν κάτω από ένα όνομα (μίας μεταβλητής) σε μία δομή η οποία ονομάζεται πλειάδα. Τα στοιχεία της πλειάδας γράφονται μέσα σε παρένθεση και χωρίζονται με κόμμα. Ας δούμε παραδείγματα.
Θα βάλουμε σε μία μεταβλητή το όνομα και την ηλικία ενός προσώπου.
>>> info = ('Nick',22)
Για να ορίσουμε έναν κύκλο χρειαζόμαστε το κέντρο και την ακτίνα του. Θα ομαδοποιήσουμε τις δύο συντεταγμένες του κέντρου, έστω (1.5,2), και την ακτίνα, έστω 5.
>>> circ = (1.5,2.0,5.0)
Ένας ακόμα τρόπος να ορίσουμε μία πλειάδα είναι να δώσουμε πολλές τιμές σε μία μεταβλητή, οπότε αυτή θεωρείται από την python μία μεταβλητή πλειάδας.
>>> t1 = 1,2,'three'
>>> print(t1)
(1, 2, 'three')
>>> type(t1)
<class 'tuple'>
>>> t1[1]
2
>>> t1[-1]
'three'
>>> t1[0:2]
(1, 2)
>>> t1 = (1,2,'three')
>>> t2 = ('a','b')
>>> t1 + t2
(1, 2, 'three', 'a', 'b')
>>> 2*t1
(1, 2, 'three', 1, 2, 'three')
Μία πλειάδα μπορεί να έχει ως στοιχεία πλειάδες.
>>> t = (t1,t2)
>>> print(t)
((1, 2, 'three'), ('a', 'b'))
>>> c = (1.5,2.0)
>>> r = 5.0
>>> circ = (c,r)
>>> print(circ)
((1.5, 2.0), 5.0)
Έχουμε την κενή πλειάδα.
>>> t = ()
Έχουμε την πλειάδα με ένα στοιχείο. Προσέξτε ότι το κόμμα στο τέλος της πλειάδας είναι αναγκαίο!
>>> t = (1,)
>>> 3*t
(1, 1, 1)
Οι πλειάδες δεν είναι μεταλλάξιμες. Δηλαδή, δεν μπορούμε να αλλάξουμε την τιμή σε ένα (ή ορισμένα) από τα στοιχεία μίας πλειάδας.
Θυμηθείτε ότι και οι συμβολοσειρές είναι μη-μεταλλάξιμος τύπος. Αντιθέτως, οι λίστες είναι μεταλλάξιμος τύπος, δηλαδή, μπορούμε να προσθέσουμε, αφαιρέσουμε ή να αλλάξουμε στοιχεία μίας λίστας.
Μπορούμε να σβήσουμε μία πλειάδα με την εντολή del
.
>>> t = (1,2,3)
>>> print(t)
(1, 2, 3)
>>> del t
>>> print(t)
Traceback (most recent call last):
File "", line 1, in
NameError: name 't' is not defined
Μπορούμε να μεταφέρουμε τις τιμές μίας πλειάδας μήκους n σε ισάριθμες μεταβλητές (αυτό ονομάζεται unpacking).
>>> t = (1, 4, 8)
>>> x,y,z = t
>>> print(x)
>>> 1
>>> print(x,y,z)
1 4 8
Μπορούμε να δώσουμε τιμές σε σειρά μεταβλητών με μία εντολή (για το σκοπό αυτόν χρησιμοποιούμε με άμεσο ή έμεσο τρόπο πλειάδες).
>>> x,y,z = (1, 4, 8)
>>> print(x)
>>> 1
>>> print(x,y,z)
1 4 8
Ας ορίσουμε μία συνάρτηση η οποία δίνει την θέση του και μία ακόμα συνάρτηση η οποία δίνει την ταχύτητά του.
def y(t):
return v0*t - 0.5*g*t**2
def v(t):
return v0 - g*t
g = 10.0
v0 = 20.0
t = 1.0
result = (y(t),v(t))
Ας δούμε την περίπτωση που μία συνάρτηση επιστρέφει περισσότερα από ένα αποτελέσματα.
Θα μπορούσαμε, για παράδειγμα, να ζητήσουμε την θέση και την ταχύτητα του σώματος να δίνονται από μία μόνο συνάρτηση.
Τότε αυτά επιστρέφονται ως πλειάδα (μπαίνουν στην εντολή return
ως πλειάδα).
def fallingParticle(t):
position = v0*t - 0.5*g*t**2
velocity = v0 - g*t
return position,velocity
g = 10.0
v0 = 20.0
time = 0.0
while time < 2.0:
y,v = fallingParticle(time)
print(time,y,v)
time += 0.2
len(t1)
: δίνει τον αριθμό στοιχείων πλειάδας.max(t1), min(t1)
: δίνουν το μέγιστο και ελάχιστο στοιχείο πλειάδας (όταν αυτά είναι συγκρίσιμα μεταξύ τους).tuple
: μετατρέπει σε πλειάδα (π.χ., L=[1,2,3]; t=tuple(L)
).