JavaRush /Курсы /Модуль 1: Python Core /Изменение множества

Изменение множества

Модуль 1: Python Core
6 уровень , 4 лекция
Открыта

5.1 Добавление элемента

Изменять множества в Python очень просто: фактически над ними доступны только 3 операции: добавить элемент в множество, удалить элемент из множества и проверить — есть ли элемент во множестве.

Для добавления одного элемента в множество используется метод add(). Этот метод добавляет элемент в множество, если его там еще нет. Если элемент уже присутствует, то множество останется без изменений.

Пример:


my_set = {1, 2, 3}
my_set.add(4)
print(my_set)  # Вывод: {1, 2, 3, 4} 
        

В этом примере элемент 4 добавляется в множество my_set. Если бы мы попытались добавить элемент, который уже присутствует, например, 2, множество не изменилось бы:


my_set = {1, 2, 3, 4}
my_set.add(2)
print(my_set)  # Вывод: {1, 2, 3, 4}
        

5.2 Добавление нескольких элементов

Для добавления нескольких элементов в множество используется метод update(). Этот метод принимает любой итерируемый объект (список, кортеж, строку и т.д.) и добавляет все его элементы в текущее множество. Если какой-либо из добавляемых элементов уже присутствует в множестве, он не будет добавлен повторно.

Пример с добавлением элементов из списка


my_set = {1, 2, 3}
my_set.update([4, 5, 6])
print(my_set)  # Вывод: {1, 2, 3, 4, 5, 6}
        

В этом примере все элементы из списка [4, 5, 6] добавляются в множество my_set.

Пример с добавлением элементов из кортежа


my_set = {1, 2, 3}
my_set.update((4, 5, 6))
print(my_set)  # Вывод: {1, 2, 3, 4, 5, 6}
        

Пример с добавлением элементов из строки

Каждый символ строки будет добавлен в множество как отдельный элемент.


my_set = {'a', 'b', 'c'}
my_set.update('def')
print(my_set)  # Вывод: {'a', 'b', 'c', 'd', 'e', 'f'}
        

Добавление элементов из другого множества

Метод update() также может принимать другое множество в качестве аргумента. Все элементы из второго множества будут добавлены в первое множество.


set1 = {1, 2, 3}
set2 = {3, 4, 5}
set1.update(set2)
print(set1)  # Вывод: {1, 2, 3, 4, 5}
        

5.3 Практическое применение

Вот несколько хороших практических примеров использования множеств в реальной жизни.

Удаление дубликатов

Множества автоматически удаляют дубликаты, что делает их полезными для обработки списков с повторяющимися элементами.


my_list = [1, 2, 2, 3, 4, 4, 5]
my_set = set(my_list)
print(my_set)  # Вывод: {1, 2, 3, 4, 5}
        

Объединение данных

Множества могут быть использованы для объединения данных из нескольких источников, сохраняя уникальность элементов.


set1 = {'apple', 'banana'}
set2 = {'banana', 'cherry'}
set3 = {'cherry', 'date'}
            
combined_set = set1 | set2 | set3
print(combined_set)  # Вывод: {'apple', 'banana', 'cherry', 'date'}
            
        
2
Задача
Модуль 1: Python Core, 6 уровень, 4 лекция
Недоступна
Случайные множества
Случайные множества
2
Задача
Модуль 1: Python Core, 6 уровень, 4 лекция
Недоступна
Множественность
Множественность
Комментарии (19)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Vlad Уровень 15
25 сентября 2025
О второй задаче - Я сначала подзабыл что цикл между итерациями не запоминает информацию - То что было в первой итерации не будет известно во второй Так что мое первое решение образовало самого настоящего монстра. Я знал что я ошибаюсь, но хотел посмотреть как меня отругает проверка😁

while_working = True

user_set = set()
set1 = set()
set2 = set()
set3 = set()
set4 = set()
set5 = set()
set6 = set()

while while_working:
    user_input = input()
    
    if user_input == "":
        while_working = False
    
    if len(set1) != 1:
        set1.add(user_input)
        user_set.update(set1)
    elif len(set2) != 1:
        set2.add(user_input)
        user_set.update(set2)
    elif len(set3) != 1:
        set3.add(user_input)
        user_set.update(set3)
    elif len(set4) != 1:
        set4.add(user_input)
        user_set.update(set4)
    elif len(set5) != 1:
        set5.add(user_input)
        user_set.update(set5)
    elif len(set6) != 1:
        set6.add(user_input)
        user_set.update(set6)
        
print(user_set)
Ilya Shalaev Уровень 10
12 октября 2025
мне даже читать это лень ,а ты сидел и делал это ахахаха
Сергей Шимко Уровень 10
26 октября 2025
мой вариант немного компактнее:

set1 = set()
for i in range(5):
    set_i = set((int(input(f"Введите {i + 1} число: ")),))
    set1.update(set_i)
print(set1)
Anton Уровень 2
2 сентября 2025
set1 = set() for _ in range(1,6): my_set = {input("Введите число: ")} set1.update(my_set) print(set1)
Anton Уровень 2
2 сентября 2025
from random import randint list1 = [randint(0,99) for _ in range(randint(10,20))] list2 = [randint(50,125) for _ in range(randint(10,20))] set1 = set(list1) set2 = set(list2) set3 = set1 | set2 print(len(set3), set3)
Antl N Уровень 14
24 июля 2025
Вводные данные для второй задачи написаны коряво. "Программа должна создавать отдельное множество для каждого введенного пользователем числа." - Что такое отдельное множество? По факту решается через одно множество, которое перезаписывается в цикле.
DKlaim Уровень 14
1 июля 2025
Вопрос к первой задаче - Какое количество элементов в списках должно быть? Тоже случайное?
Роман Уровень 24
28 августа 2025
Задача про списки от 0 до 99 и 50 до 125 это трэш. Методом подбора нашел количество элементов второго списка, причем количество первого никак не проверяется. Непонятно, то ли я обманул проверку. то ли она меня. 12 попыток!!!
Viktor Kucheriavyi Уровень 20
11 апреля 2025
Говорит, что нужно использовать random.sample или random.choices. Я нигде не видел в примерах эти методы. Прикольно...
SWK Уровень 26
25 марта 2025
Сдаётся мне, такое "правильное решение":

for _ in range(5):
    number = int(input("Введите число: "))
    number_set = {number}
    initial_set.update(number_set)
Противоречит такому условию:

Программа должна создавать отдельное множество 
для каждого введенного пользователем числа.
Отдельное множество для каждого не создаётся. Множество, в которое записывается ввод пересоздаётся каждую итерацию.
Maksym Уровень 17
15 октября 2025
Да но вы забыли указать пустое множество: initial_set = set() И еще в строке: number = int(input(f"Введите число, {i+1}:")) 🤓🤓
_den Уровень 52
21 февраля 2025
кто не разобрался, почему нужно использовать {x} для числа, а не set(x). set() ожидает итерируемый объект (строку, список и т. д.), а число (int) не является итерируемым.
Дмитрий Уровень 29
21 февраля 2025
первая задача, это какой то бред, даже пофиг на задачу, первое условие, цитата:Программа должна сгенерировать первый список случайных элементов в диапазоне от 0 до 99. я в генераторе пишу 0, 99, выдает ошибку: используйте диапазон не 0,99, а 0,100........... Идите поспите потом пишите проверку и условие) я так понимаю задача висит год и ее еще ни разу не исправляли, дак исправьте!
Juffin Уровень 21
6 марта 2025
В генераторе второе число не включается же. in range(0, 100) это от 0 (включительно) до 99.
Sheo Gorath Уровень 15
16 февраля 2025
Решение лучше чем у 1%... У кого получилось более изящное решение второй задачи в пару строк? Возможно, я что-то упускаю.