×
  • 1. Установка Python 3.7
  • 2. Варианты выполнения кода. Первая программа
  • 3. Объекты. Числа и операции над ними
  • 4. Переменные в Python. Оператор присваивания
  • 5. Функция input()
  • 6. Функция print()
  • 7. Деление нацело и деление по остатку
  • 8. Функции trunc, floor, ceil
  • 9. Деление нацело и по остатку отрицательных чисел в Python
  • 10. Логический тип Bool. Операции сравнения
  • 11. Cтроки и операции над ними
  • 12. Строки: индексы и срезы
  • 13. Строки и их методы
  • 14. Списки и операции над ними
  • 15. Списки: индексы и срезы
  • 16. Списки и их методы
  • 17. Условный оператор if
  • 18. Вложенный оператор if
  • 19. Множественный выбор elif
  • 20. Цикл while
  • 21. Обход всех цифр числа с помощью while
  • 22. Алгоритм Евклида
  • 23. Цикл while. Нахождение всех делителей числа
  • 24. Цикл while. Инструкции break, continue, else
  • 25. Функция range и итерируемые объекты
  • 26. Цикл for. Обход элементов функции range
  • 27. Цикл for. Обход списков и строк
  • 28. Установка, настройка и использование PyCharm
  • 29. Метод подсчета. Сортировка подсчетом Python
  • 30. Вложенные циклы
  • 31. Вложенные списки
  • 32. Треугольник Паскаля
  • 33. Множества в Python. Тип данных set
  • 34. Словари Python. Операции и методы словаря
  • 35. 4 Ситуации, где полезно использовать словарь
  • 36. Как отсортировать словарь в Python
  • 37. Кортежи (tuple). Операции и методы кортежей
  • 38. Функции (def). Определение и вызов функции
  • 39. Зачем нужны функции в программировании
  • 40. Возвращаемое значение функции. Оператор return
  • 41. Область видимости: локальная, глобальная и встроенная.
  • 42. Вложенные функции Python
  • 43. Замыкания в Python. Closure Python
  • 44. Замыкания в Python Часть 2
  • 45. Передача аргументов. Сопоставление аргументов по имени и позиции
  • 46. *args и **kwargs Python. Передача аргументов в функцию
  • 47. Рекурсия в Python. Рекурсивная функция Часть 1
  • 48. Рекурсия в Python. Рекурсивная функция Часть 2
  • 49. Рекурсивный обход файлов
  • 50. Функция enumerate
  • 51. Анонимная функция Lambda
  • 52. Генераторы списков Python | List comprehension
  • 53. Генераторы списков 2 | List comprehension | Вложенные генераторы списков
  • 54. Выражения-генераторы
  • 55. Функция генератор. Создание генератора при помощи yield
  • 56. Функция map Python.
  • 57. Функция filter
  • 58. Функция zip python
  • 59. Сортировка коллекций в Python. Метод sort и функция sorted
  • 60. Декораторы в Python Часть 1
  • 61. Декораторы в Python Часть 2
  • 62. Сортировка по ключу Python. Аргумент key
  • 63. Установка модулей в Python || Установка пакета Python
  • 64. Работа с файлами в Python. Чтение и запись данных
  • 65. Экранированные и служебные символы в Python
  • 66. Встроенная функция isinstance
  • 67. Функции all и any.
  • 68. Форматирование строк. Метод format
  • 69. F-строка
  • 70. Импорт стандартных модулей
  • 71. Импорт собственных модулей в Python
  • 72. 7 видов вызываемых (callable) объектов в Python
  • 73. Метод split и метод join Python
  • 74. Пакеты в Python. Файл __init__, переменная __all__
  • 75. Работаем с JSON в Python. Парсинг JSON, сохраняем JSON в файл
  • Множество (set)

    Множество (set) — неупорядоченная коллекция, хранящая набор уникальных значений и поддерживающая для них операции добавления, удаления и определения вхождения.

    Также объект множество в Python поддерживает операции, аналогичные операциям с математическими множествами: объединение, пересечение, симметричная разность и вычитание множеств

    Создание множества

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

     >>> a = {1,2,3}
    >>> a
    {1, 2, 3}

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

    >>> b = {1,2,3,3,2,1,4}
    >>> b
    {1, 2, 3, 4}

    Пустое множество создается при помощи функции set()

    >>> c = set()
    >>> c
    set()

    Также при помощи функции set() можно создавать множества из других объектов. Если передать строку, то получим множество из символов этой строки.

    >>> d = set('abracadabra')
    >>> d
    {'b', 'r', 'c', 'a', 'd'}

    Также можно передавать функции set() списки и функцию range().

    >>> e = set([1,3,3,1,2,3,3,7])
    >>> e
    {1, 2, 3, 7}
    >>> f = set(range(1,4))
    >>> f
    {1, 2, 3}
    Добавление элемента в множество

    Первый способ добавить элемент в множество это вызвать метод add(). При попытке добавить уже существующий элемент во множество никаких ошибок не возникнет

     >>> a = {0,1,2,2,3}
    >>> a
    {0, 1, 2, 3}
    >>> a.add(4)
    >>> a
    {0, 1, 2, 3, 4}
    >>> a.add(3)
    >>> a
    {0, 1, 2, 3, 4}

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

     >>> a
    {0, 1, 2}
    >>> a.update([1,2,3,4])
    >>> a
    {0, 1, 2, 3, 4}
    >>> a.update('hi')
    >>> a
    {0, 1, 2, 3, 4, 'i', 'h'}
    >>> a.update(range(0,6))
    >>> a
    {0, 1, 2, 3, 4, 5, 'i', 'h'}
    Удаление элемента из множество

    Первый способ удалить элемент из множества это вызвать метод discard(value) и передать ему значение, которое хотите удалить. В случае, если в множестве нет значения, исключений не будет.

    >>> a
    {1, 2, 3}
    >>> a.discard(3)
    >>> a
    {1, 2}
    >>> a.discard(4)
    >>> a
    {1, 2}

    Второй способ удалить элемент - это вызвать метод remove(value). В случае, если указанного значения в множестве нет, возбуждается исключение KeyError.

    >>> a
    {1, 2, 3}
    >>> a.remove(2)
    >>> a
    {1, 3}
    >>> a.remove(5)
    Traceback (most recent call last):
      File "", line 1, in 
        a.remove(5)
    KeyError: 5

    Третий способ удалить элемент - вызвать метод pop(). Т.к. множество является неупорядоченной коллекцией, данный метод удалит случайный элемент. При попытке удалить элемент из пустого множества возникнет исключение KeyError.

    >>> a
    {1, 2, 3}
    >>> a.pop()
    1
    >>> a.pop()
    2
    >>> a.pop()
    3
    >>> a.pop()
    Traceback (most recent call last):
      File "", line 1, in 
        a.pop()
    KeyError: 'pop from an empty set'
    Операции над множеством
    Нахождение длины
    >>> a = {1,2,3}
    >>> len(a)
    3
    >>> len(set())
    0
    >>> len(set([1,2,2]))
    2
    Проверка вхождения элемента во множество
    >>> a
    {1, 2, 3}
    >>> 2 in a
    True
    >>> 4 in a
    False
    >>> 5 not in a
    True
    Пересечение множеств

    При помощи оператора & можно выполнить пересечение множеств. В результат попадут те элементы, которые одновременно принадлежат двум множествам. При этом сами множества не меняются. Если нужно изменить само множество используйте эту операцию с присвоением &=.

    >>> a = {1,2,3,4}
    >>> b = {3,4,5,6}
    >>> a & b
    {3, 4}
    >>> a,b
    ({1, 2, 3, 4}, {3, 4, 5, 6})
    >>> a &= b
    >>> a,b
    ({3, 4}, {3, 4, 5, 6})
    Объединение множеств

    При помощи оператора | можно выполнить объединение множеств. В результат попадут те элементы, которые принадлежат хотя бы одному из множеств. При этом сами множества не меняются. Если нужно изменить само множество используйте эту операцию с присвоением |=.

    >>> a = {1,2,3,4}
    >>> b = {3,4,5,6}
    >>> a | b
    {1, 2, 3, 4, 5, 6}
    >>> a,b
    ({1, 2, 3, 4}, {3, 4, 5, 6})
    >>> a |= b
    >>> a,b
    ({1, 2, 3, 4, 5, 6}, {3, 4, 5, 6})
    Вычитание множеств

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

    >>> a = {1,2,3,4}
    >>> b = {3,4,5,6}
    >>> a - b
    {1, 2}
    >>> b - a
    {5, 6}
    >>> a,b
    ({1, 2, 3, 4}, {3, 4, 5, 6})
    >>> a -= b
    >>> a,b
    ({1, 2}, {3, 4, 5, 6})

    Попрактиковаться на stepik Перейти

    Записывайтесь на курсы по Python

    Задать вопрос