НОЧУ ДПО "Национальный открытый университет "ИНТУИТ"
Опубликован: 24.01.2021 | Доступ: свободный | Студентов: 2489 / 106 | Длительность: 03:57:00
Лекция 7:

Множества

< Лекция 1 || Лекция 7: 12345

Смотреть на youtube

Множество - тип данных, широко используемый в математике. Поэтому целесообразность включения такого типа данных в язык программирования вполне обоснована. Каковы основные свойства этого типа данных? Множество - это неупорядоченная совокупность элементов возможно разной природы. Элементы множества уникальны. При попытке включить в множество элемент, уже существующий в множестве, множество и его мощность не меняется. Для конечных множеств мощность множества - это число его элементов.

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

Элементы множества могут иметь разные типы - числа, строки, но не могут быть словарями, множествами или списками. Такое ограничение связано с особенностью хранения элементов множества, как хешируемых объектов. Хеширование означает, что существует некоторая хеш-функция, которая по значению объекта определяет его ключ, задающий местоположение объекта. Словари, множества, списки не являются хешируемыми объектами.

Пример:

#Примеры работы с типом данных - множество (class set)
def test1():
    #множества
    #задание множества
    s = {5, 1, 3, 3, 5, 1}
    print ("s = ", s, "Type(s) = ", type(s))
    sv = {5, 7.5, 'set'}
    print ("множество с элементами разного типа = ", sv) 
test1()

Результат работы:


Конструирование множества. Метод set

Метод set применим к итерируемым объектам - потомкам последовательности - к спискам, к строкам, но не к словарям. Метод преобразует объект, заданный в качестве аргумента, в множество, удаляя повторяющиеся значения объекта аргумента.

Пример:

def test2():
    # метод set - приведение к типу set
    str = "this is a string" 
    set_str = set(str)
    print("str = ", str, "set_str = ", set_str)
    list =[5, 7, 9, 5, 3, 1, 7, 9]
    set_list = set(list)
    print("list = ", list, "set_list = ", set_list)
test2()

Результат:


Заметьте, порядок расположения элементов множества задается неизвестной пользователю хеш-функцией.

< Лекция 1 || Лекция 7: 12345
Алексей Авилов
Алексей Авилов

Неужели не нашлось русских специалистов, чтобы записать курс по пайтону ? Да, можно включить переводчик и слушать с переводом, но это что? Это кто-то считает хорошим и понятным курсом для начинающих? 

Елена Лаптева
Елена Лаптева

Думаю. что не смогу его закончить. Хотелось предупредить других - не тратьте зря время, ищите другой курс.