Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

5.3 Αφαίρεση στοιχείων ενός Set (συνόλου)

Μπορείτε να αφαιρέσετε ένα στοιχείο από ένα σετ χρησιμοποιώντας τις μεθόδους remove() ή discard().

Η διαφορά μεταξύ τους είναι ότι εάν το στοιχείο που προσπαθείτε να αφαιρέσετε δεν υπάρχει στο σετ, η μέθοδος remove() θα εγείρει μια εξαίρεση KeyError, δηλώνοντας ότι το στοιχείο δεν βρέθηκε, ενώ η μέθοδος discard() θα αποτύχει αθόρυβα χωρίς να εγείρει εξαίρεση.

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

Πριν χρησιμοποιήσετε τη μέθοδο remove(), μπορείτε να ελέγξετε την ύπαρξη του στοιχείου στη λίστα χρησιμοποιώντας την πρόταση if και τον τελεστή in. Έτσι, μπορείτε να βεβαιωθείτε ότι το στοιχείο υπάρχει πριν προχωρήσετε στην αφαίρεσή του, αποφεύγοντας έτσι την εμφάνιση σφαλμάτων.

Ένα παράδειγμα κώδικα θα ήταν το εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_list = [1, 2, 3, 4, 5]
element = 3
if element in my_list:
my_list.remove(element)
print(f"Το στοιχείο {element} αφαιρέθηκε από τη λίστα.")
else:
print(f"Το στοιχείο {element} δεν υπάρχει στη λίστα.")
my_list = [1, 2, 3, 4, 5] element = 3 if element in my_list: my_list.remove(element) print(f"Το στοιχείο {element} αφαιρέθηκε από τη λίστα.") else: print(f"Το στοιχείο {element} δεν υπάρχει στη λίστα.")
my_list = [1, 2, 3, 4, 5]
element = 3

if element in my_list:
    my_list.remove(element)
    print(f"Το στοιχείο {element} αφαιρέθηκε από τη λίστα.")
else:
    print(f"Το στοιχείο {element} δεν υπάρχει στη λίστα.")

Σε αυτό το παράδειγμα, ελέγχουμε πρώτα αν το στοιχείο 3 υπάρχει στη λίστα my_list. Αν ναι, τότε το αφαιρούμε χρησιμοποιώντας τη μέθοδο remove() και εμφανί

ζουμε ένα μήνυμα επιβεβαίωσης. Αν το στοιχείο δεν υπάρχει στη λίστα, εμφανίζουμε ένα μήνυμα που το αναφέρει.

Με αυτόν τον τρόπο, βεβαιώνεστε ότι η αφαίρεση ενός στοιχείου γίνεται μόνο αν αυτό υπάρχει στη λίστα, αποφεύγοντας έτσι τυχόν σφάλματα.

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_set = {"apple", "banana", "cherry"}
my_set.discard("banana") # Αφαιρεί το στοιχείο "banana" από το σύνολο
print(my_set) # Εκτυπώνει {'cherry', 'apple'}
my_set = {"apple", "banana", "cherry"} my_set.discard("banana") # Αφαιρεί το στοιχείο "banana" από το σύνολο print(my_set) # Εκτυπώνει {'cherry', 'apple'}
my_set = {"apple", "banana", "cherry"}
my_set.discard("banana")  # Αφαιρεί το στοιχείο "banana" από το σύνολο
print(my_set)  # Εκτυπώνει {'cherry', 'apple'}

Στον παραπάνω κώδικα, δημιουργούμε ένα σύνολο my_set με τρία στοιχεία: “apple”, “banana” και “cherry”. Στη συνέχεια, χρησιμοποιούμε τη μέθοδο discard() για να αφαιρέσουμε το στοιχείο “banana” από το σύνολο. Εφόσον το στοιχείο υπάρχει στο σύνολο, αφαιρείται και το τελικό αποτέλεσμα που εκτυπώνεται είναι {'cherry', 'apple'}. Παρατηρούμε ότι το στοιχείο “banana” έχει αφαιρεθεί από το σύνολο.

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

Μπορείτε να χρησιμοποιήσετε τη μέθοδο pop() ως εξής:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my_set = {4, 2, 9, 1, 5}
random_item = my_set.pop()
print(random_item) # Εκτυπώνει ένα τυχαίο στοιχείο από το σετ
print(my_set) # Εκτυπώνει το σετ μετά την αφαίρεση του στοιχείου
my_set = {4, 2, 9, 1, 5} random_item = my_set.pop() print(random_item) # Εκτυπώνει ένα τυχαίο στοιχείο από το σετ print(my_set) # Εκτυπώνει το σετ μετά την αφαίρεση του στοιχείου
my_set = {4, 2, 9, 1, 5}
random_item = my_set.pop()
print(random_item)  # Εκτυπώνει ένα τυχαίο στοιχείο από το σετ
print(my_set)  # Εκτυπώνει το σετ μετά την αφαίρεση του στοιχείου

Κάθε φορά που εκτελείτε την pop(), θα αφαιρείται ένα τυχαίο στοιχείο από το σετ. Είναι σημαντικό να σημειωθεί ότι το σετ πρέπει να μην είναι κενό πριν εκτελεστεί η μέθοδος pop(), διαφορετικά θα προκληθεί μια εξαίρεση KeyError.

[adinserter block=”2″]

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

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

Ας δούμε ένα παράδειγμα χρησιμοποιώντας τη μέθοδο pop():

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Δημιουργία ενός συνόλου
fruits = {"apple", "banana", "cherry"}
# Αφαίρεση ενός τυχαίου στοιχείου με τη μέθοδο pop()
removed_item = fruits.pop()
print(removed_item) # Εκτύπωση του αφαιρεθέντος στοιχείου
print(fruits) # Εκτύπωση του ενημερωμένου συνόλου
# Δημιουργία ενός συνόλου fruits = {"apple", "banana", "cherry"} # Αφαίρεση ενός τυχαίου στοιχείου με τη μέθοδο pop() removed_item = fruits.pop() print(removed_item) # Εκτύπωση του αφαιρεθέντος στοιχείου print(fruits) # Εκτύπωση του ενημερωμένου συνόλου
# Δημιουργία ενός συνόλου
fruits = {"apple", "banana", "cherry"}

# Αφαίρεση ενός τυχαίου στοιχείου με τη μέθοδο pop()
removed_item = fruits.pop()

print(removed_item)  # Εκτύπωση του αφαιρεθέντος στοιχείου
print(fruits)  # Εκτύπωση του ενημερωμένου συνόλου

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

Σημείωση: Τα σύνολα είναι μη ταξινομημένα, επομένως όταν χρησιμοποιείτε τη μέθοδο pop(), δεν γνωρίζετε ποιο αντικείμενο θα αφαιρεθεί.

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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
thisset = {"apple", "banana", "cherry"}
thisset.clear() # Αδειάζει το σύνολο
print(thisset) # Εκτυπώνει set() καθώς το σύνολο είναι τώρα κενό
thisset = {"apple", "banana", "cherry"} thisset.clear() # Αδειάζει το σύνολο print(thisset) # Εκτυπώνει set() καθώς το σύνολο είναι τώρα κενό
thisset = {"apple", "banana", "cherry"}
thisset.clear()  # Αδειάζει το σύνολο
print(thisset)  # Εκτυπώνει set() καθώς το σύνολο είναι τώρα κενό

Στον παραπάνω κώδικα, ο τρόπος clear() καλείται στο σύνολο thisset. Αυτό έχει ως αποτέλεσμα την αδειάσματος του συνόλου, δηλαδή την αφαίρεση όλων των στοιχείων που περιείχε. Έπειτα, εκτυπώνεται το περιεχόμενο του συνόλου με τη χρήση της συνάρτησης print(). Καθώς το σύνολο είναι τώρα κενό, η έξοδος θα είναι set() που αντιπροσωπεύει ένα κενό σύνολο.

Χρησιμοποιώντας τη λέξη-κλειδί “del” μπορείτε να διαγράψετε ολόκληρο το σύνολο (set).

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
thisset = {"apple", "banana", "cherry"}
del thisset # Διαγράφει το σύνολο ολοκληρωτικά
print(thisset) # Προκαλεί NameError, καθώς το thisset δεν υπάρχει πλέον
thisset = {"apple", "banana", "cherry"} del thisset # Διαγράφει το σύνολο ολοκληρωτικά print(thisset) # Προκαλεί NameError, καθώς το thisset δεν υπάρχει πλέον
thisset = {"apple", "banana", "cherry"}
del thisset  # Διαγράφει το σύνολο ολοκληρωτικά
print(thisset)  # Προκαλεί NameError, καθώς το thisset δεν υπάρχει πλέον

Στον παραπάνω κώδικα, χρησιμοποιείται η λέξη-κλειδί “del” για να διαγραφεί πλήρως το σύνολο thisset. Όταν εκτελείται η γραμμή print(thisset), προκαλείται ένα σφάλμα NameError, καθώς η μεταβλητή thisset δεν υπάρχει πλέον στο πρόγραμμα.

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