JavaRush /Курси /Модуль 1: Python Core /Видалення елементів

Видалення елементів

Модуль 1: Python Core
Рівень 6 , Лекція 5
Відкрита

6.1 Функції remove() і discard()

Множини в Python надають кілька способів видалення елементів. Нижче ми розглянемо методи remove(), discard(), pop(), clear(), а також використання оператора del для видалення множини повністю. Кожен метод має свої особливості та застосування.

Два найбільш поширених способи видалення елементів — це методи remove() і discard().

Метод remove()

Метод remove() видаляє вказаний елемент з множини. Якщо елемент не існує в множині, виникає помилка KeyError.


my_set = {1, 2, 3, 4, 5}
my_set.remove(3)
print(my_set)  # Вивід: {1, 2, 4, 5}
            
# Якщо елементу немає в множині, виникає помилка
my_set.remove(6)  # KeyError: 6
        

Метод discard()

Метод discard() також видаляє вказаний елемент з множини, але, на відміну від remove(), він не викликає помилку, якщо елементу немає в множині.


my_set = {1, 2, 3, 4, 5}
my_set.discard(3)
print(my_set)  # Вивід: {1, 2, 4, 5}

# Якщо елементу немає в множині, помилки не буде
my_set.discard(6)
print(my_set)  # Вивід: {1, 2, 4, 5}
        

6.2 Функції pop() і clear()

Ще часто використовують такі функції як pop() і clear()

Метод pop()

Метод pop() видаляє і повертає випадковий елемент з множини. Якщо множина порожня, виникає помилка KeyError.


my_set = {1, 2, 3, 4, 5}
removed_element = my_set.pop()
print(removed_element)   # Вивід: Один з елементів множини, наприклад, 1
print(my_set)  # Вивід: Залишилися елементи множини, наприклад, {2, 3, 4, 5}
            
# Якщо множина порожня, виникає помилка
empty_set = set()
empty_set.pop()  # KeyError: 'pop from an empty set'
        

Приклад: Видалення всіх елементів з множини за допомогою pop()

Метод pop() може бути використаний у циклі для поетапного видалення всіх елементів з множини, поки вона не стане порожньою.


my_set = {1, 2, 3, 4, 5}
print("Початкова множина:", my_set)
            
while my_set:
    removed_element = my_set. pop()
    print(f"Видалено елемент: {removed_element}, Залишилися елементи: {my_set}")
            
print("Множина порожня:", my_set)
        

Вивід


Початкова множина: {1, 2, 3, 4, 5}
Видалено елемент: 1, Залишилися елементи: {2, 3, 4, 5}
Видалено елемент: 2, Залишилися елементи: {3, 4, 5}
Видалено елемент: 3, Залишилися елементи: {4, 5}
Видалено елемент: 4, Залишилися елементи: {5}
Видалено елемент: 5, Залишилися елементи: set()
Множина порожня: set()
        

Метод clear()

Метод clear() видаляє всі елементи з множини, роблячи її порожньою.

Приклад


my_set = {1, 2, 3, 4, 5}
my_set.clear()
print(my_set)  # Вивід: set()
        

6.3 Використання оператора del

Оператор del в Python використовується для видалення об'єктів. При роботі з множинами оператор del може застосовуватись для видалення самої множини повністю, звільняючи пам'ять. Нижче буде пара прикладів використання оператора del для роботи з множинами.

Видалення множини

Коли оператор del використовується для видалення множини, ця множина більше не існує, і всі її елементи видаляються з пам'яті


my_set = {1, 2, 3, 4, 5}
print("Початкова множина:", my_set)
            
# Видалення множини
            del my_set
            
# Спроба доступу до видаленої множини викличе помилку
# print(my_set) # NameError: name 'my_set' is not defined
        

У цьому прикладі множина my_set видаляється за допомогою оператора del. Після цього будь-яка спроба доступу до my_set викличе помилку NameError, оскільки об'єкт більше не існує.

Коментарі (4)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
negoda Рівень 31
18 липня 2025
Решение второй задачи

fruits_set = {'apple', 'banana', 'cherry'}

delete_fruit = input()

fruits_set.discard(delete_fruit)

print(fruits_set)
negoda Рівень 31
18 липня 2025
Решение первой задачи

names_set = {'Мурка', 'Васька', 'Мурзик', 'Барсик', 'Сніжок'}

attempt = 0

while names_set:
    a = input()
    attempt += 1
    if a in names_set:
        print(f'Ви вгадали! Це була спроба : {attempt}')
        names_set.discard(a)
    else:
        print(f'Ви не вгадали! Це була спроба : {attempt}')
Mykola Рівень 21
2 лютого 2025
Котовасія - нарешті перша задача, де я відчув, що можу хоч і не суттєве, проте щось більш-менш практичне створити. Хотілося б побільше таких. 😃
Марк Рівень 47
15 грудня 2024
Котовасія = в завданні не вказано що програма повинна виводити кількість спроб у кінці (опис завдання не відповідає перевіркам)