Αφαίρεση στοιχείου από α Python LIST [διαγραφή, αναδυόμενο, αφαίρεση, διαγραφή]

⚡ Έξυπνη Σύνοψη

Αφαίρεση στοιχείων από ένα Python Η λίστα βασίζεται σε τρεις ενσωματωμένες μεθόδους, remove(), pop() και clear(), καθώς και τη λέξη-κλειδί del, καθεμία από τις οποίες στοχεύει σε ένα στοιχείο με βάση την τιμή, με βάση το ευρετήριο ή διαγράφει ολόκληρη τη λίστα από τη θέση της.

  • 🔘 μέθοδος remove(): Η συνάρτηση remove() διαγράφει το πρώτο στοιχείο που αντιστοιχεί σε μια δεδομένη τιμή και προκαλεί ValueError όταν η τιμή απουσιάζει.
  • ☑️ μέθοδος pop(): Η pop() αφαιρεί ένα στοιχείο από ένα δεδομένο ευρετήριο και το επιστρέφει, ορίζοντας από προεπιλογή το τελευταίο στοιχείο όταν δεν περνιέται ευρετήριο.
  • λέξη-κλειδί del: Η λέξη-κλειδί del διαγράφει ένα στοιχείο ή ένα ολόκληρο slice ανά ευρετήριο και μπορεί επίσης να αφαιρέσει τη μεταβλητή λίστας.
  • 🧪 μέθοδος clear(): Η clear() αδειάζει τη λίστα στη θέση της, αφήνοντας πίσω μια υπάρχουσα αλλά μηδενικού μήκους λίστα.
  • Αξία έναντι δείκτη: Χρησιμοποιήστε remove() όταν η τιμή είναι γνωστή και pop() ή del όταν η θέση είναι γνωστή.
  • 🤖 Ροές εργασίας τεχνητής νοημοσύνης: Ο καθαρισμός δεδομένων μηχανικής μάθησης αφαιρεί ανεπιθύμητα δείγματα από λίστες χρησιμοποιώντας κατανοήσεις πριν από την εκπαίδευση του μοντέλου.

Αφαίρεση στοιχείου από ένα Python Λιστα

Python Ο τύπος δεδομένων λίστας σάς βοηθά να αποθηκεύετε στοιχεία διαφορετικών τύπων δεδομένων σε μια ταξινομημένη ακολουθία. Τα δεδομένα γράφονται μέσα σε αγκύλες ([]) και οι τιμές διαχωρίζονται με κόμμα(,).

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

Εκτός από τις μεθόδους λίστας, μπορείτε επίσης να χρησιμοποιήσετε α del λέξη-κλειδί για την αφαίρεση στοιχείων από μια λίστα.

Παράδειγμα λίστας

my_list = ['Guru', 50, 11.50, 'Siya', 50, ['A', 'B', 'C']]

Ο δείκτης ξεκινά από το 0. Στη λίστα my_list, στον 0ο δείκτη έχουμε τη συμβολοσειρά 'Guru».

  • Στο ευρετήριο: 1 θα λάβετε τον αριθμό 50, ο οποίος είναι ακέραιος αριθμός.
  • Στο δείκτη:2 θα λάβετε τον κυμαινόμενο αριθμό 11.50
  • Στο ευρετήριο:3, υπάρχει μια συμβολοσειρά "Siya".
  • Στο ευρετήριο:4, θα δείτε ότι ο αριθμός 50 είναι διπλότυπος.
  • Στο ευρετήριο:5, θα λάβετε μια λίστα με τιμές A, B και C.

Python μέθοδο remove().

Η μέθοδος remove() είναι μια ενσωματωμένη μέθοδος που διατίθεται με τη λίστα. Βοηθά στην αφαίρεση του πρώτου στοιχείου που ταιριάζει από τη λίστα.

Σύνταξη:

list.remove(element)

Το στοιχείο που θέλετε να αφαιρέσετε από τη λίστα.

επιστροφή Αξία

Δεν υπάρχει τιμή επιστροφής για αυτήν τη μέθοδο.

Συμβουλές για τη χρήση της μεθόδου remove()

Ακολουθούν τα σημαντικά σημεία που πρέπει να θυμάστε όταν χρησιμοποιείτε τη μέθοδο remove():

  • Όταν η λίστα έχει διπλά στοιχεία, το πρώτο στοιχείο που ταιριάζει με το δεδομένο στοιχείο θα αφαιρεθεί από τη λίστα.
  • Εάν το δεδομένο στοιχείο δεν υπάρχει στη λίστα, θα εμφανιστεί ένα σφάλμα λέγοντας ότι το στοιχείο δεν είναι στη λίστα.
  • Η μέθοδος remove() δεν επιστρέφει καμία τιμή.
  • Η μέθοδος remove() δέχεται την τιμή ως όρισμα, επομένως η τιμή πρέπει να περάσει με τον σωστό τύπο δεδομένων.

Παράδειγμα: Χρήση της μεθόδου remove() για την αφαίρεση ενός στοιχείου από τη λίστα

Εδώ είναι μια λίστα δειγμάτων που έχω:

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

Η λίστα έχει στοιχεία των τύπων δεδομένων string και number. Η λίστα έχει διπλότυπα στοιχεία όπως τον αριθμό 12 και τη συμβολοσειρά Riya.

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']
my_list.remove(12) # it will remove the element 12 at the start.
print(my_list)
my_list.remove('Riya') # will remove the first Riya from the list
print(my_list)
my_list.remove(100)  #will throw an error
print(my_list)

Παραγωγή:

['Siya', 'Tiya', 14, 'Riya', 12, 'Riya']
['Siya', 'Tiya', 14, 12, 'Riya']
Traceback (most recent calllast):
File "display.py", line 9, in <module>
    my_list.remove(100)
ValueError: list.remove(x): x not in the list

Python μέθοδος pop().

Η μέθοδος pop() αφαιρεί ένα στοιχείο από τη λίστα με βάση το ευρετήριο που δίνεται.

Σύνταξη

list.pop(index)

index: η μέθοδος pop() έχει μόνο ένα όρισμα που ονομάζεται index.

  • Για να αφαιρέσετε ένα στοιχείο από τη λίστα, πρέπει να περάσετε τον δείκτη του στοιχείου. Ο δείκτης ξεκινά από το 0. Για να λάβετε το πρώτο στοιχείο από τη λίστα, περάστε τον δείκτη ως 0. Για να αφαιρέσετε το τελευταίο στοιχείο, μπορείτε να περάσετε τον δείκτη ως -1.
  • Το όρισμα ευρετηρίου είναι προαιρετικό. Εάν δεν περάσει, η προεπιλεγμένη τιμή θεωρείται -1 και επιστρέφεται το τελευταίο στοιχείο από τη λίστα.
  • Εάν το ευρετήριο που δίνεται δεν υπάρχει ή είναι εκτός εύρους, η μέθοδος pop() εκτελεί ένα σφάλμα λέγοντας IndexError: αναδυόμενο ευρετήριο.

Τιμή επιστροφής:

Η μέθοδος pop() θα επιστρέψει το στοιχείο που αφαιρέθηκε με βάση το ευρετήριο που δίνεται. Η τελική λίστα είναι επίσης ενημερωμένη και δεν θα έχει το στοιχείο.

Παράδειγμα: Χρήση της μεθόδου pop() για την αφαίρεση ενός στοιχείου από τη λίστα

Η λίστα που θα χρησιμοποιήσουμε στο παράδειγμα είναι my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya'].

Ας προσπαθήσουμε να αφαιρέσουμε ένα στοιχείο χρησιμοποιώντας μια μέθοδο pop() με βάση τα εξής:

  • Δίνοντας ευρετήριο
  • Χωρίς ευρετήριο
  • Διέλευση ευρετηρίου που είναι εκτός εύρους.

Εδώ, αφαιρούμε Τίγια από τη λίστα. Ο δείκτης ξεκινά από το 0, επομένως ο δείκτης για Τίγια είναι 2.

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

#By passing index as 2 to remove Tiya
name = my_list.pop(2)
print(name)
print(my_list)

#pop() method without index – returns the last element
item = my_list.pop()
print(item)
print(my_list)

#passing index out of range
item = my_list.pop(15)
print(item)
print(my_list)

Παραγωγή:

Tiya
[12, 'Siya', 14, 'Riya', 12, 'Riya']
Riya
[12, 'Siya', 14, 'Riya', 12]
Traceback (most recent calllast):
File "display.py", line 14, in <module>
item = my_list.pop(15)
IndexError: popindex out of range

Python μέθοδο clear().

Η μέθοδος clear() θα αφαιρέσει όλα τα στοιχεία που υπάρχουν στη λίστα.

Σύνταξη:

list.clear()

παράμετροι:

Δεν υπάρχουν παράμετροι.

Τιμή επιστροφής:

Δεν υπάρχει τιμή επιστροφής. Η λίστα αδειάζεται χρησιμοποιώντας τη μέθοδο clear().

Παράδειγμα: Χρήση της μεθόδου clear() για την αφαίρεση όλων των στοιχείων από τη λίστα

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

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

#Using clear() method
element = my_list.clear()
print(element)
print(my_list)

Παραγωγή:

None
[]

Χρήση λέξης-κλειδιού del

Για να αφαιρέσετε ένα στοιχείο από τη λίστα, μπορείτε να χρησιμοποιήσετε το del λέξη-κλειδί ακολουθούμενη από μια λίστα. Πρέπει να περάσετε το ευρετήριο του στοιχείου στη λίστα. Ο δείκτης ξεκινά από το 0.

Σύνταξη:

del list[index]

Μπορείτε επίσης να κόψετε μια σειρά στοιχείων από τη λίστα χρησιμοποιώντας το del λέξη-κλειδί. Ο δείκτης έναρξης/διακοπής από τη λίστα μπορεί να δοθεί στη λέξη-κλειδί del και τα στοιχεία που εμπίπτουν σε αυτό το εύρος θα αφαιρεθούν. Η σύνταξη έχει ως εξής:

Σύνταξη:

del list[start:stop]

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

my_list = list(range(15))
print("The Original list is ", my_list)

#To remove the firstelement
del my_list[0]
print("After removing first element", my_list)

#To remove last element
del my_list[-1]
print("After removing last element", my_list)

#To remove element for given index : for example index:5
del my_list[5]
print("After removing element from index:5", my_list)

#To remove last 2 elements from the list
del my_list[-2]
print("After removing last 2 elements", my_list)

#To remove multiple elements
delmy_list[1:5]
print("After removing multiple elements from start:stop index (1:5)", my_list)

#To remove multiple elements
del my_list[4:]
print("To remove elements from index 4 till the end (4:)", my_list)

Παραγωγή:

The Originallist is  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
After removing first element [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
After removing last element [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
After removing element from index:5 [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13]
After removing last 2 elements [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13]
After removing multiple elements from start:stop index (1:5) [1, 7, 8, 9, 10, 11, 13]
To remove elements from index 4 till the end (4:) [1, 7, 8, 9]

Πώς μπορώ να αφαιρέσω το πρώτο στοιχείο από μια λίστα;

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

Μπορείτε επίσης να χρησιμοποιήσετε το del λέξη-κλειδί για να αφαιρέσετε το πρώτο στοιχείο από τη λίστα.

Το παρακάτω παράδειγμα δείχνει πώς να αφαιρέσετε το πρώτο στοιχείο από μια λίστα χρησιμοποιώντας remove(), pop() και del.

my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("The Originallist is ", my_list1)
#Using remove() to remove first element
my_list1.remove('A')
print("Using remove(), the final list is ", my_list1)

my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("The Originallist is ", my_list1)
#Using pop() to remove the first element
element = my_list1.pop(0)
print("The first element removed from my_list1 is ", element)
print("Using pop(), the final list is ", my_list1)

#Using del to remove the first element
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
del my_list2[0]
print("Using del, the final list is ", my_list2)

Παραγωγή:

The Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using remove(), the final list is  ['B', 'C', 'D', 'E', 'F']
The Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
The first element removed from my_list1 is  A
Using pop(), the final list is  ['B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['B', 'C', 'D', 'E', 'F']

Πώς μπορώ να αφαιρέσω πολλά στοιχεία από μια λίστα Python?

Οι μέθοδοι λίστας remove() και pop() προορίζονται για την αφαίρεση ενός μόνο στοιχείου. Για να αφαιρέσετε πολλά στοιχεία, χρησιμοποιήστε την del λέξη-κλειδί.

Από τη λίστα ['A', 'B', 'C', 'D', 'E', 'F'], θέλουμε να αφαιρέσουμε τα στοιχεία B, C και D. Το παρακάτω παράδειγμα δείχνει πώς να χρησιμοποιήσετε το del λέξη-κλειδί για την αφαίρεση των στοιχείων.

#Using del to remove the multiple elements from list
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list2)
del my_list2[1:4]
print("Using del, the final list is ", my_list2)

Παραγωγή:

Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['A', 'E', 'F']

Πώς μπορώ να αφαιρέσω ένα στοιχείο από μια λίστα χρησιμοποιώντας το index in Python?

Για να αφαιρέσετε ένα στοιχείο με βάση το ευρετήριο, μπορείτε να χρησιμοποιήσετε τη μέθοδο λίστας pop(). Ακόμα και χρησιμοποιώντας το del λέξη-κλειδί θα σας βοηθήσει να αφαιρέσετε το στοιχείο για ένα δεδομένο ευρετήριο.

#Using del to remove the multiple elements from list
my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list1)
element = my_list1.pop(2)
print("Element removed for index: 2 is ", element)
print("Using pop, the final list is ", my_list1)

#Using del to remove the multiple elements from list
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list2)
del my_list2[2]
print("Using del, the final list is ", my_list2)

Παραγωγή:

Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Element removed for index: 2 is  C
Using pop, the final list is  ['A', 'B', 'D', 'E', 'F']
Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['A', 'B', 'D', 'E', 'F']

Συχνές Ερωτήσεις

Η remove() διαγράφει το πρώτο στοιχείο που ταιριάζει με μια τιμή, η pop() αφαιρεί ένα στοιχείο κατά δείκτη και το επιστρέφει, και η del αφαιρεί ένα στοιχείο ή μια τομή κατά δείκτη χωρίς να επιστρέψει τίποτα. Επιλέξτε κατά εάν γνωρίζετε την τιμή ή τη θέση.

Η συνάρτηση remove() διαγράφει μόνο την πρώτη αντιστοίχιση, επομένως χρησιμοποιήστε μια κατανόηση λίστας όπως [x για x στη λίστα_μου αν x != τιμή]. Αυτό αναδημιουργεί τη λίστα χωρίς κανένα αντίστοιχο στοιχείο και διατηρεί την υπόλοιπη σειρά ανέπαφη.

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

Η clear() αδειάζει τη λίστα στη θέση της ενώ η keeping η μεταβλητή και τυχόν αναφορές που δείχνουν στην ίδια πλέον κενή λίστα. Η εντολή del my_list καταργεί εντελώς τη μεταβλητή, επομένως η αναφορά σε αυτήν στη συνέχεια δημιουργεί ένα NameError.

remove(), pop(), clear() και del αλλάζουν όλες τη λίστα στη θέση της. Μόνο η pop() επιστρέφει το αφαιρεμένο στοιχείο. Οι άλλες επιστρέφουν None ή nothing. Η κατανόηση λίστας δημιουργεί μια ξεχωριστή νέα λίστα και αφήνει την αρχική ανέπαφη.

Η επανειλημμένη κλήση της συνάρτησης remove() είναι αργή επειδή κάθε κλήση σαρώνει ξανά τη λίστα. Η ανακατασκευή με μία μόνο κατανόηση λίστας ή filter() εκτελείται με ένα πέρασμα και είναι πολύ πιο γρήγορη για μεγάλες λίστες κατά την αφαίρεση πολλών τιμών.

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

Ναι. Το GitHub Copilot και οι βοηθοί τεχνητής νοημοσύνης δημιουργούν remove(), pop(), del και κώδικα που βασίζεται στην κατανόηση από ένα απλό σχόλιο, προτείνουν την ασφαλέστερη επιλογή για την περίπτωσή σας και αναδιαμορφώνουν βρόχους, αν και θα πρέπει να δοκιμάσετε περιπτώσεις ακραίων τιμών, όπως τιμές που λείπουν.

Συνοψίστε αυτήν την ανάρτηση με: