Неужели не нашлось русских специалистов, чтобы записать курс по пайтону ? Да, можно включить переводчик и слушать с переводом, но это что? Это кто-то считает хорошим и понятным курсом для начинающих? |
Множества
Смотреть на 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()
Результат:
Заметьте, порядок расположения элементов множества задается неизвестной пользователю хеш-функцией.