11 Μέθοδοι λίστας Python που πρέπει να γνωρίζετε

Σε αυτό το σεμινάριο, θα μάθετε πώς να χρησιμοποιείτε μεθόδους λίστας Python για να προσθέτετε στοιχεία, να τροποποιείτε και να αφαιρείτε στοιχεία από λίστες Python.

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

Ας ξεκινήσουμε!

Μια επισκόπηση των λιστών Python

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

Όπως όλα τα iterable της Python, οι λίστες ακολουθούν μηδενική ευρετηρίαση και υποστηρίζουν τη λειτουργία κοπής.

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

Στη συνέχεια, ας δούμε μερικές χρήσιμες μεθόδους λίστας Python.

Ενσωματωμένες μέθοδοι λίστας στην Python

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

Θα χρησιμοποιήσουμε την ακόλουθη λίστα pgm_langs. Είναι μια λίστα συμβολοσειρών που περιέχει τα ονόματα δημοφιλών γλωσσών προγραμματισμού.

pgm_langs = ['Python','Go','Rust','JavaScript']

Εισαγωγή στοιχείων λίστας με insert()

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

  • Ο δείκτης στον οποίο πρέπει να εισαχθεί το στοιχείο και
  • Το στοιχείο για εισαγωγή.
  Ryzen 4000: Ο επόμενος φορητός υπολογιστής παιχνιδιών σας θα είναι AMD αντί για Intel;

Ας εισαγάγουμε το ‘Scala’ στο δείκτη 1 χρησιμοποιώντας τη μέθοδο index().

pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript']

Προσθήκη στοιχείου στη λίστα με το append()

Μερικές φορές μπορεί να χρειαστεί να προσθέσετε ένα στοιχείο στο τέλος της λίστας. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε τη μέθοδο append().

Ας προσθέσουμε τη συμβολοσειρά «Java» στο τέλος της λίστας χρησιμοποιώντας τη μέθοδο append().

pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

Προσθήκη ενός Iterable With extend()

Γνωρίζετε ότι μπορείτε να χρησιμοποιήσετε τη μέθοδο append() για να προσθέσετε ένα μεμονωμένο στοιχείο. Τι γίνεται όμως αν θέλετε να προσθέσετε περισσότερα από ένα στοιχεία σε μια υπάρχουσα λίστα, ας πούμε, μια λίστα στοιχείων; Η μέθοδος extend() παρέχει μια συνοπτική σύνταξη για να το κάνει.

Ας προσθέσουμε τα στοιχεία της λίστας more_langs στη λίστα pgm_langs χρησιμοποιώντας τη μέθοδο extend().

more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

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

for lang in more_langs:
    pgm_langs.append(lang)

Αντιστροφή λίστας με reverse()

Για να αντιστρέψετε τη σειρά των στοιχείων σε μια λίστα, μπορείτε να καλέσετε τη μέθοδο reverse().

Βλέπουμε ότι η λίστα pgm_langs έχει αντιστραφεί στη θέση της.

pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

Ταξινόμηση λίστας με sort()

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

pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

Για να ταξινομήσετε τη λίστα με αντίστροφη αλφαβητική σειρά, μπορείτε να ορίσετε την αντίστροφη παράμετρο σε True στην κλήση της μεθόδου sort().

pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Μάθετε περισσότερα σχετικά με την ταξινόμηση των λιστών Python.

  Πώς να παίξετε 4K Netflix σε υπολογιστή

Δημιουργήστε ένα ρηχό αντίγραφο με το copy()

Μερικές φορές μπορεί να είναι χρήσιμο να τροποποιήσετε ένα αντίγραφο της αρχικής λίστας αντί να τροποποιήσετε την ίδια την αρχική λίστα. Η μέθοδος list copy() επιστρέφει ένα ρηχό αντίγραφο της λίστας Python.

Ας δημιουργήσουμε ένα ρηχό αντίγραφο της λίστας pgm_langs και ας το ονομάσουμε pgm_langs_copy. Και ορίσαμε το πρώτο στοιχείο στη λίστα σε ‘Haskell’ και το εκτυπώνουμε.

pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

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

print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

Λήψη πλήθους αντικειμένων με count()

Μερικές φορές είναι χρήσιμο να γνωρίζετε πόσες φορές εμφανίζεται ένα συγκεκριμένο στοιχείο σε μια λίστα. Η μέθοδος count() επιστρέφει τον αριθμό των φορών που εμφανίζεται ένα στοιχείο σε μια λίστα.

Στη λίστα pgm_langs, όλα τα στοιχεία εμφανίζονται ακριβώς μία φορά. Έτσι, όταν προσπαθούμε να πάρουμε το μέτρημα του ‘Go’, παίρνουμε 1, το οποίο είναι σωστό.

print(pgm_langs.count('Go'))
# Output: 1

Η χρήση της μεθόδου count() είναι ένας από τους τρόπους αφαίρεσης διπλών στοιχείων από λίστες Python.

Λήψη ευρετηρίου ενός αντικειμένου με ευρετήριο()

Για να βρείτε το ευρετήριο ενός στοιχείου σε μια λίστα Python, μπορείτε να χρησιμοποιήσετε τη μέθοδο index(). Ας υποθέσουμε ότι θα θέλαμε να βρούμε το ευρετήριο του ‘C#’ στη λίστα pgm_langs. Μπορούμε να χρησιμοποιήσουμε τη δήλωση assert για να επαληθεύσουμε ότι το στοιχείο που το ευρετήριο 7 είναι ‘C#’.

print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

Αφαίρεση στοιχείου σε ευρετήριο με pop()

Τώρα, ας δούμε τις μεθόδους λίστας μεθόδων λίστας για την αφαίρεση στοιχείων από λίστες Python. Η μέθοδος pop() χρησιμοποιείται για την αφαίρεση και την επιστροφή ενός στοιχείου σε ένα συγκεκριμένο ευρετήριο. Από το προηγούμενο παράδειγμα κώδικα, γνωρίζουμε ότι το ‘C#’ είναι η γλώσσα στο ευρετήριο 7.

  Πώς να παρακολουθήσετε δωρεάν το Halo Nightfall στο Διαδίκτυο

Όταν καλούμε τη μέθοδο pop() στη λίστα pgm_langs με το 7 ως ευρετήριο, βλέπουμε ότι επιστρέφει το ‘C#’, το στοιχείο στο ευρετήριο 7, και επίσης το αφαιρεί από τη λίστα.

print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

Έτσι, η μέθοδος pop() αφαιρεί και επιστρέφει ένα στοιχείο στο καθορισμένο ευρετήριο. Ωστόσο, ο καθορισμός του ευρετηρίου είναι προαιρετικός. Όταν δεν προσδιορίζετε το ευρετήριο, η μέθοδος pop() αφαιρεί και επιστρέφει το τελευταίο στοιχείο στη λίστα Python, όπως φαίνεται:

print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

Αφαίρεση αντικειμένων με remove()

Μερικές φορές, μπορεί να γνωρίζετε ποιο στοιχείο να αφαιρέσετε αλλά όχι το ευρετήριό του. Σε αυτήν την περίπτωση, μπορείτε να χρησιμοποιήσετε τη μέθοδο remove()—η οποία παίρνει ένα στοιχείο για να αφαιρέσει και το αφαιρεί. Ας αφαιρέσουμε το ‘Java’ από τη λίστα pgm_langs χρησιμοποιώντας τη μέθοδο remove() όπως φαίνεται.

pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

Κατάργηση όλων των αντικειμένων με clear()

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

for lang in pgm_langs:
    pgm_langs.remove(lang)

Υπάρχει όμως καλύτερος τρόπος; Ναι, χρησιμοποιώντας τη μέθοδο clear(). Βλέπουμε ότι η κλήση της μεθόδου διαγραφής στη λίστα pgm_langs αφαιρεί όλα τα στοιχεία και το pgm_langs είναι πλέον μια κενή λίστα.

pgm_langs.clear()
print(pgm_langs)
# Output: []

Μια σύνοψη των μεθόδων λίστας Python

Ας συνοψίσουμε γρήγορα τις διάφορες μεθόδους λίστας και τη σύνταξή τους:

List MethodSyntaxDescriptioninsert()list1.insert(index, elt)Εισάγει elt στο ευρετήριο στη list1append()list1.append(elt)Προσθέτει elt στο τέλος της list1extend()list1.extend(list2)Προσθέτει στοιχεία από τη λίστα2 στο τέλος της λίστας1 ()list1.sort()Ταξινομεί τη λίστα σε placereverse()list1.reverse()Ανστρέφει τη λίστα1 σε placecopy()list1.copy()Επιστρέφει ένα ρηχό αντίγραφο του list1count()list1.count(elt)Επιστρέφει το πλήθος των elt σε list1index()list1.index(elt)Επιστρέφει το ευρετήριο του elt στη list1pop()list1.pop(index)Καταργεί το elt στο index και το επιστρέφει. remove()list1.remove(elt)Καταργεί το elt από list1clear()list1.clear()Καταργεί όλα τα στοιχεία από τη λίστα1

συμπέρασμα

Ελπίζω αυτό το σεμινάριο να σας βοήθησε να καταλάβετε πώς να χρησιμοποιήσετε μερικές από τις πιο κοινές μεθόδους λίστας στην Python. Ως επόμενο βήμα, μάθετε για τις πλειάδες Python και τις διαφορές μεταξύ λιστών και πλειάδων στην Python.

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