Οι λίστες είναι μια διατεταγμένη ακολουθία από αντικείμενα που μπορεί να είναι του ίδιου ή και διαφορετικών τύπων:
Vathmoi=[12,14,18,19,13]
days=['Mon','Tue','Wed','Thu','Fri','Sat','Sun']
L=['patission',296,True,3.14]
Ανήκει στις δυναμικές δομές, επομένως τα στοιχεία της μπορούν να αλλάζουν, να διαγράφονται και να προστίθενται νέα.
Όπως και στις συμβολοσειρές, σε κάθε στοιχείο μπορεί να αντιστοιχηθεί ένας αριθμός:
Vathmoi[0] είναι το 12, days[6] είναι το ‘Sun’ κ.ο.κ.
Το πλήθος των στοιχείων της λίστας δίνεται από την len(). Παράδειγμα:
>>> len(days)
7
Και πάλι χρησιμοποιείται ο υπαρξιακός τελεστής in και ο τελεστής διαμέρησης “:”
>>> 'Mon' in days
True
>>> print days[4:len(days)]
['Fri', 'Sat', 'Sun']
print days[:3] #ίδιο με print days[0:3]
['Mon', 'Tue', 'Wed']
Μπορούμε να δημιουργήσουμε μία κενή λίστα, δηλαδή χωρίς αρχικές τιμές. Παράδειγμα: L=[]
Στην συνέχεια με την μέθοδο append, στέλνουμε κάθε φορά στο τέλος της λίστας ένα νέο στοιχείο:
>>> L=[]
>>> L.append(12)
>>> L.append(14)
>>> L.append(18)
>>> print L
[12, 14, 18]
Φυσικά, μπορούμε να κάνουμε append τιμές που διαβάσαμε με input:
>>> S=[]
>>> for i in range(3):
x=input('Δώσε αριθμό: ')
S.append(x)
Δώσε αριθμό: 1
Δώσε αριθμό: 2
Δώσε αριθμό: 3
>>> print S
[1, 2, 3]
Με την μέθοδο insert εισάγεται ένα νέο στοιχείο στην θέση που γράφουμε:
>>> S.insert(2,5) #εισάγεται στην θέση S[2] το 5 και “σπρώχνει” δεξιά το 3
>>> print S
[1, 2, 5, 3]
Η μέθοδος pop αφαιρεί το στοιχείο στη θέση που γράφουμε. Παράδειγμα, pop(0) αφαιρεί το πρώτο στοιχείο. Αν δεν βάλουμε αριθμό, αφαιρεί το τελευταίο.
>>> days.pop()
'Sun'
>>> print days
['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']
>>> days.pop(3)
'Thu'
>>> print days
['Mon', 'Tue', 'Wed', 'Fri', 'Sat']
Μπορούμε επίσης να τροποποιήσουμε ένα ή περισσότερα στοιχεία της λίστας:
>>> print L
[12, 14, 18]
>>> L[1]=100
>>> print L
[12, 100, 18]
Με τον τελεστή : μπορούμε να κάνουμε ένα αντίγραφο της λίστας:
>>> print L
[12, 100, 18]
>>> K=L[:]
>>> print K
[12, 100, 18]
Αυτό ΔΕΝ ισχύει στις συμβολοσειρές!
Αν θέλουμε Κ και L να δείχνουν στην ίδια λίστα γράφουμε Κ=L, οπότε οι όποιες αλλαγές επηρεάζουν και Κ και L.
Μπορούμε να δημιουργήσουμε αντίγραφο προσθέτοντας την κενή:
>>> G=L+[]
>>> print G
[12, 100, 18]
>>> print L
[12, 100, 18]
H εντολή L=L+x κάνει το ίδιο με την L.append(x), δηλαδή προσθέτει ένα στοιχείο στο τέλος της L. Αλλά η πρώτη εντολή κάθε φορά δημιουργεί μια καινούργια λίστα, οπότε έχει μεγάλο υπολογιστικό κόστος.
Μπορούμε να διαβάσουμε κάθε στοιχείο μιας λίστας ως εξής:
Με for:
>>> L=[10,20,30] >>> for i in L: print i 10 20 30 |
>>> for i in range(3): print L[i] 10 20 30 |
Με while:
>>> i=0
>>> while i < len(L):
print L[i]
i=i+1
10
20
30
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
Σημείωση: Μόνο ένα μέλος αυτού του ιστολογίου μπορεί να αναρτήσει σχόλιο.