3.4 Πρόσβαση και αλλαγή στα στοιχεία της λίστας

Κάθε στοιχείο σε μια λίστα έχει έναν αριθμό ευρετηρίου (index) που το αναφέρεται. Ο αριθμός ευρετηρίου αρχίζει από το 0 για το πρώτο στοιχείο της λίστας και αυξάνεται κατά 1 για κάθε επόμενο στοιχείο. Μπορείτε να προσπελάσετε ένα συγκεκριμένο στοιχείο αναφέροντας τον αντίστοιχο αριθμό ευρετηρίου.

Για παράδειγμα, σε μια λίστα my_list με τα στοιχεία [10, 20, 30, 40, 50], μπορείτε να προσπελάσετε το δεύτερο στοιχείο χρησιμοποιώντας τον αριθμό ευρετηρίου 1:

my_list = [10, 20, 30, 40, 50]  # Δημιουργία μιας λίστας με ακέραιους αριθμούς
second_element = my_list[1]  # Προσπέλαση του δεύτερου στοιχείου (20) με τον αριθμό ευρετηρίου 1
print(second_element)  # Εκτύπωση της τιμής του δεύτερου στοιχείου: 20

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

Παράδειγμα:

Έστω ότι έχουμε την παρακάτω λίστα:

fruits = ["apple", "banana", "cherry"]

Μπορούμε να έχουμε πρόσβαση στα στοιχεία της λίστας χρησιμοποιώντας τον αριθμό ευρετηρίου:

print(fruits[0])  # Εκτυπώνει "apple"
print(fruits[1])  # Εκτυπώνει "banana"
print(fruits[2])  # Εκτυπώνει "cherry"

Σημειώστε ότι οι λίστες στην Python ξεκινούν από το ευρετήριο 0. Αυτό σημαίνει ότι το πρώτο στοιχείο της λίστας έχει ευρετήριο 0, το δεύτερο στοιχείο έχει ευρετήριο 1 και ούτω καθεξής.

Η αρνητική ευρετηρίαση σημαίνει ότι ξεκινάμε την αρίθμηση των στοιχείων από το τέλος της λίστας. Ο αριθμός ευρετηρίου -1 αναφέρεται στο τελευταίο στοιχείο της λίστας, ο -2 αναφέρεται στο προτελευταίο στοιχείο κλπ.

Παρακάτω παρουσιάζονται μερικά παραδείγματα:

  1. Απόκτηση πρόσβασης στο τελευταίο στοιχείο της λίστας:
my_list = [1, 2, 3, 4, 5]
last_item = my_list[-1]  # Αποθηκεύουμε τον τελευταίο στοιχείο της λίστας στην μεταβλητή last_item
print(last_item)  # Εκτύπωση της τιμής της μεταβλητής last_item

Στον παραπάνω κώδικα, έχουμε μια λίστα με όνομα my_list που περιέχει τους αριθμούς 1, 2, 3, 4, 5. Στη συνέχεια, χρησιμοποιούμε τον αρνητικό δείκτη -1 για να προσπελάσουμε το τελευταίο στοιχείο της λίστας, και αποθηκεύουμε αυτή την τιμή στη μεταβλητή last_item. Τέλος, εκτυπώνουμε την τιμή της last_item, που αντιπροσωπεύει το τελευταίο στοιχείο της λίστας.

Το αποτέλεσμα που θα εμφανιστεί στην οθόνη είναι 5, διότι το τελευταίο στοιχείο της λίστας my_list είναι ακριβώς ο αριθμός 5.

  1. Απόκτηση πρόσβασης στο δεύτερο προς το τελευταίο στοιχείο της λίστας:
my_list = [1, 2, 3, 4, 5]  # Δημιουργία μιας λίστας με τις τιμές 1, 2, 3, 4, 5
second_to_last = my_list[-2]  # Ανάθεση της δεύτερης τιμής από το τέλος της λίστας στη μεταβλητή "second_to_last"
print(second_to_last)  # Εκτύπωση της τιμής που βρίσκεται στη μεταβλητή "second_to_last"

Στον παραπάνω κώδικα, πρώτα δημιουργούμε μια λίστα με την ονομασία my_list, που περιλαμβάνει τις τιμές 1, 2, 3, 4 και 5. Στη συνέχεια, χρησιμοποιούμε τον αρνητικό δείκτη -2 για να αναφερθούμε στο δεύτερο στοιχείο από το τέλος της λίστας, που είναι το 4. Αυτή η τιμή αντιγράφεται στη μεταβλητή second_to_last. Τέλος, η τιμή αυτή εκτυπώνεται στην οθόνη χρησιμοποιώντας την εντολή print(second_to_last).

Μπορούμε να χρησιμοποιήσουμε την αρνητική ευρετηρίαση σε συνδυασμό με το καθολικό (slicing) για να ορίσουμε ένα εύρος ευρετηρίων σε μια λίστα από το τέλος προς την αρχή.

Όταν χρησιμοποιούμε αρνητικές τιμές για το start και το end, αναφερόμαστε σε θέσεις από το τέλος της λίστας. Για παράδειγμα, -1 αντιστοιχεί στο τελευταίο στοιχείο, -2 στο προτελευταίο, και ούτω καθεξής.

[adinserter block=”2″]

Όταν καθορίζετε ένα εύρος, η τιμή που επιστρέφεται θα είναι μια νέα λίστα με τα καθορισμένα στοιχεία.

Παράδειγμα:

fruits = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
selected_fruits = fruits[1:4]  # Επιλέγουμε τα στοιχεία με ευρετήρια από τη θέση 1 έως τη θέση 4 (αποκλειστικά)
print(selected_fruits)  # Εκτύπωση των επιλεγμένων φρούτων: ["banana", "cherry", "orange"]

Στο παραπάνω παράδειγμα, η λίστα fruits περιέχει διάφορα φρούτα. Χρησιμοποιούμε το slicing για να επιλέξουμε ένα υποσύνολο των φρούτων.

  • Η έκφραση fruits[1:4] αναφέρεται στα στοιχεία από τη θέση 1 έως τη θέση 4 (αποκλειστικά) της λίστας fruits. Έτσι, επιλέγουμε τα φρούτα με ευρετήρια 1, 2 και 3.
  • Τα επιλεγμένα φρούτα αποθηκεύονται στη μεταβλητή selected_fruits.
  • Τέλος, με την εντολή print(selected_fruits) εκτυπώνουμε τα επιλεγμένα φρούτα, τα οποία είναι ["banana", "cherry", "orange"].

Ας υποθέσουμε ότι έχουμε μια λίστα με τις βαθμολογίες ενός μαθήματος και θέλουμε να αναφέρουμε τις βαθμολογίες από τον πρώτο μαθητή μέχρι τον τρίτο:

grades = [8, 7, 10, 9, 6, 5, 9, 10]
first_three_grades = grades[:3]  # Λαμβάνουμε τα τρία πρώτα στοιχεία της λίστας
print(first_three_grades)  # Εκτύπωση: [8, 7, 10]

Στο παραπάνω παράδειγμα, χρησιμοποιούμε το slicing για να πάρουμε ένα υποσύνολο των στοιχείων της λίστας grades. Με την έκφραση grades[:3], ορίζουμε ένα εύρος ευρετηρίων από την αρχή της λίστας μέχρι το τρίτο στοιχείο (αλλά χωρίς να το συμπεριλάβουμε).

Έτσι, η νέα λίστα first_three_grades περιέχει τα τρία πρώτα στοιχεία της αρχικής λίστας grades, δηλαδή τους βαθμούς 8, 7 και 10. Αυτή η νέα λίστα εκτυπώνεται και το αποτέλεσμα είναι [8, 7, 10].

Ας υποθέσουμε ότι έχουμε μια λίστα με τις διαφορετικές πόλεις που επισκέπτεται κάποιος τουρίστας κατά τη διάρκεια του ταξιδιού του. Θέλουμε να αναφέρουμε τις πόλεις που επισκέφθηκε ο τουρίστας από την πόλη “Paris” μέχρι το τέλος του ταξιδιού του:

cities_visited = ["New York", "Los Angeles", "Paris", "Rome", "Barcelona", "Athens"]
from_paris_to_end = cities_visited[2:]  # Επιλέγουμε το εύρος από την θέση 2 και μετά
print(from_paris_to_end)  # Εκτύπωση: ["Paris", "Rome", "Barcelona", "Athens"]

Στον παραπάνω κώδικα, έχουμε μια λίστα cities_visited που περιέχει ονόματα πόλεων που έχουν επισκεφθεί. Θέλουμε να δημιουργήσουμε μια νέα λίστα from_paris_to_end που θα περιέχει όλες τις πόλεις από το “Paris” και μετά.

Χρησιμοποιούμε τον αριθμό δείκτη [2:] για να αναφερθούμε σε ένα εύρος ευρετηρίων από τη θέση 2 και μετά. Στην προκειμένη περίπτωση, αυτό σημαίνει ότι ξεκινάμε από το τρίτο στοιχείο της λίστας (με δείκτη 2) και παίρνουμε όλα τα στοιχεία μέχρι το τέλος της λίστας.

Έτσι, η νέα λίστα from_paris_to_end περιέχει τις πόλεις από το “Paris” και μετά, δηλαδή [“Paris”, “Rome”, “Barcelona”, “Athens”].

[adinserter block=”3″]

Μπορούμε να καθορίσουμε αρνητικά ευρετήρια αν θέλουμε να αναζητήσουμε στοιχεία από το τέλος της λίστας:

Παράδειγμα: Αυτό το παράδειγμα επιστρέφει τα στοιχεία από το “orange” (-4) μέχρι, αλλά ΟΧΙ συμπεριλαμβανομένου, του “mango” (-1):

my_list = ["αχλάδι", "μήλο", "πορτοκάλι", "μπανάνα", "κεράσι", "ανανάς"]
print(my_list[-4:-1]) # Επιστρέφει: ['πορτοκάλι', 'μπανάνα', 'κεράσι']

Στον παραπάνω κώδικα, έχουμε μια λίστα my_list που περιέχει ονόματα φρούτων. Θέλουμε να επιλέξουμε ένα εύρος ευρετηρίων από την τέταρτη θέση πίσω από το τέλος της λίστας μέχρι την πρώτη θέση πίσω από το τέλος της λίστας.

Χρησιμοποιούμε τον αρνητικό δείκτη -4 για να αναφερθούμε στην τέταρτη θέση πίσω από το τέλος της λίστας, και τον αρνητικό δείκτη -1 για να αναφερθούμε στην πρώτη θέση πίσω από το τέλος της λίστας.

Έτσι, η εκτύπωση print(my_list[-4:-1]) επιστρέφει τα στοιχεία της λίστας από το “πορτοκάλι” μέχρι το “κεράσι”, δηλαδή ['πορτοκάλι', 'μπανάνα', 'κεράσι'].

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

Παράδειγμα:

my_list = ["κόκκινο", "πράσινο", "μπλε"]

# Έλεγχος εάν το στοιχείο "πράσινο" υπάρχει στη λίστα
if "πράσινο" in my_list:
    # Εκτύπωση μηνύματος εάν το "πράσινο" βρίσκεται στη λίστα
    print("Ναι, το 'πράσινο' υπάρχει στη λίστα.")

Στον παραπάνω κώδικα, έχουμε μια λίστα my_list που περιέχει ονόματα χρωμάτων. Ακολουθεί μια δομή ελέγχου if που ελέγχει εάν το στοιχείο “πράσινο” υπάρχει στη λίστα.

Αν το “πράσινο” βρίσκεται στη λίστα, τότε η εντολή print("Ναι, το 'πράσινο' υπάρχει στη λίστα.") εκτελείται και εμφανίζει το μήνυμα “Ναι, το ‘πράσινο’ υπάρχει στη λίστα.” στην έξοδο.

Για να αλλάξετε την τιμή ενός συγκεκριμένου στοιχείου σε μια λίστα στη Python, αναφερθείτε στον αριθμό δείκτη (index) του στοιχείου:

Παράδειγμα:

my_list = ["apple", "banana", "cherry"]

# Αντικατάσταση του δεύτερου στοιχείου με τη λέξη "kiwi"
my_list[1] = "kiwi"

# Εκτύπωση της ανανεωμένης λίστας
print(my_list)

Στον παραπάνω κώδικα, έχουμε μια λίστα my_list που περιέχει τρία στοιχεία: “apple”, “banana” και “cherry”. Θέλουμε να αντικαταστήσουμε το δεύτερο στοιχείο, δηλαδή το “banana”, με τη λέξη “kiwi”.

Χρησιμοποιούμε τον δείκτη [1] για να αναφερθούμε στο δεύτερο στοιχείο της λίστας (οι δείκτες ξεκινούν από το 0). Με την εκχώρηση my_list[1] = "kiwi", αντικαθιστούμε την τιμή “banana” με την τιμή “kiwi”.

Έπειτα, εκτυπώνουμε την ανανεωμένη λίστα με την εντολή print(my_list), και το αποτέλεσμα είναι ['apple', 'kiwi', 'cherry'].

Για να αλλάξετε τις τιμές στοιχείων μέσα σε ένα συγκεκριμένο εύρος στη Python, ορίστε μια λίστα με τις νέες τιμές και αναφερθείτε στο εύρος των αριθμών δείκτη (index) όπου θέλετε να εισαγάγετε τις νέες τιμές:

Παράδειγμα:

my_list = ["apple", "banana", "cherry", "orange", "kiwi", "mango"]

# Αντικατάσταση του εύρους από την 2η θέση μέχρι την 4η θέση με νέα στοιχεία
my_list[1:4] = ["blackberry", "watermelon"]

print(my_list)  # Εκτύπωση της ενημερωμένης λίστας

# Η λίστα θα έχει τη μορφή: ["apple", "blackberry", "watermelon", "kiwi", "mango"]

Στον παραπάνω κώδικα, έχουμε μια λίστα my_list που περιέχει ονόματα φρούτων. Θέλουμε να αντικαταστήσουμε τα στοιχεία από την 2η θέση μέχρι την 4η θέση της λίστας με νέα στοιχεία.

Χρησιμοποιούμε τη σύνταξη my_list[1:4] για να αναφερθούμε στο εύρος των θέσεων από την 2η (συμπεριλαμβανομένη) μέχρι την 4η (αποκλειόμενη) θέση της λίστας. Στη συνέχεια, αντικαθιστούμε αυτό το εύρος με μια νέα λίστα ["blackberry", "watermelon"].

Έτσι, η εκτύπωση print(my_list) εμφανίζει την ενημερωμένη λίστα my_list μετά την αντικατάσταση, η οποία θα έχει τη μορφή ["apple", "blackberry", "watermelon", "kiwi", "mango"].

Εάν εισάγετε περισσότερα στοιχεία από ότι αντικαθιστάτε σε μια λίστα στην Python, τα νέα στοιχεία θα εισαχθούν εκεί όπου καθορίσατε και τα υπόλοιπα στοιχεία θα μετακινηθούν ανάλογα.

[adinserter block=”4″]

Παράδειγμα:

my_list = ["apple", "banana", "cherry"]

# Αντικατάσταση του εύρους από την 1η θέση μέχρι την 2η θέση με νέα στοιχεία
my_list[1:2] = ["kiwi", "orange", "melon"]

print(my_list)  # Εκτύπωση της ενημερωμένης λίστας

# Η λίστα θα έχει τη μορφή: ["apple", "kiwi", "orange", "melon", "cherry"]

Στον παραπάνω κώδικα, έχουμε μια λίστα my_list που περιέχει ονόματα φρούτων. Θέλουμε να αντικαταστήσουμε το στοιχείο στην 1η θέση της λίστας με μια νέα λίστα που περιέχει τα στοιχεία “kiwi”, “orange” και “melon”.

Χρησιμοποιούμε τη σύνταξη my_list[1:2] για να αναφερθούμε στο εύρος της 1ης (συμπεριλαμβανομένη) έως και της 2ης (αποκλειόμενη) θέσης της λίστας. Στη συνέχεια, αντικαθιστούμε αυτό το εύρος με τη νέα λίστα ["kiwi", "orange", "melon"].

Έτσι, η εκτύπωση print(my_list) εμφανίζει την ενημερωμένη λίστα my_list μετά την αντικατάσταση, η οποία θα έχει τη μορφή ["apple", "kiwi", "orange", "melon", "cherry"].

Εάν εισάγετε λιγότερα στοιχεία από ότι αντικαθιστάτε σε μια λίστα στην Python, τα νέα στοιχεία θα εισαχθούν εκεί όπου καθορίσατε, και τα υπόλοιπα στοιχεία θα μετακινηθούν ανάλογα.

Παράδειγμα:

my_list = ["apple", "banana", "cherry"]

# Αντικατάσταση του εύρους από την 1η θέση μέχρι την 3η θέση με το στοιχείο "kiwi"
my_list[1:3] = ["kiwi"]

print(my_list)  # Εκτύπωση της ενημερωμένης λίστας

# Η λίστα θα έχει τη μορφή: ["apple", "kiwi"]

Στον παραπάνω κώδικα, έχουμε μια λίστα my_list που περιέχει ονόματα φρούτων. Θέλουμε να αντικαταστήσουμε το εύρος από την 1η θέση μέχρι την 3η θέση της λίστας με το στοιχείο “kiwi”.

Χρησιμοποιούμε τη σύνταξη my_list[1:3] για να αναφερθούμε στο εύρος της 1ης (συμπεριλαμβανομένη) έως και της 3ης (αποκλειόμενη) θέσης της λίστας. Στη συνέχεια, αντικαθιστούμε αυτό το εύρος με το στοιχείο “kiwi”.

Έτσι, η εκτύπωση print(my_list) εμφανίζει την ενημερωμένη λίστα my_list μετά την αντικατάσταση, η οποία θα έχει τη μορφή ["apple", "kiwi"].

[adinserter block=”3″]

Η μέθοδος insert() χρησιμοποιείται για να εισάγετε ένα νέο στοιχείο σε μια λίστα, χωρίς να αντικαταστήσετε κάποια από τις υπάρχουσες τιμές. Αυτή η μέθοδος παίρνει δύο ορίσματα: τον δείκτη (index) όπου θέλετε να εισάγετε το στοιχείο και την τιμή του στοιχείου που θέλετε να εισαχθεί.

Ο δείκτης (index) καθορίζει τη θέση όπου θα εισαχθεί το νέο στοιχείο στη λίστα. Όλα τα στοιχεία μετά τη θέση αυτής της δείκτη θα μετακινηθούν μια θέση προς τα δεξιά. Έτσι, το νέο στοιχείο θα εισαχθεί στην καθορισμένη θέση και οι υπόλοιπες τιμές θα μετακινηθούν.

Παράδειγμα:

my_list = ["apple", "banana", "cherry"]

# Εισαγωγή του στοιχείου "orange" στη θέση 2
my_list.insert(2, "orange")

print(my_list)  # Εκτύπωση της ενημερωμένης λίστας

# Η λίστα θα έχει τη μορφή: ["apple", "banana", "orange", "cherry"]

Στον παραπάνω κώδικα, έχουμε μια λίστα my_list που περιέχει ονόματα φρούτων. Θέλουμε να εισάγουμε το στοιχείο “orange” στη θέση 2 της λίστας.

Χρησιμοποιούμε τη μέθοδο insert() στη λίστα my_list και περνάμε ως ορίσματα τη θέση (2) και το στοιχείο που θέλουμε να εισαγάγουμε (“orange”).

Έτσι, η εκτύπωση print(my_list) εμφανίζει την ενημερωμένη λίστα my_list μετά την εισαγωγή, η οποία θα έχει τη μορφή ["apple", "banana", "orange", "cherry"].

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