Python: множества |
![]() |
Добавил(а) microsin |
Множество (set) используются для сохранения нескольких элементов в одной переменной. Множество является одним из 4 встроенных типов данных Python, используемых для сохранения наборов данных. Другие 3 таких типа это список (List), кортеж (Tuple) и словарь (Dictionary), все они отличаются своими особенностями и использованием. Множество это набор неупорядоченных, неизменяемых(1) и неиндексируемых элементов. Примечание (1): "неизменяемых" означает, что значение отдельного элемента созданного множества поменять нельзя. Однако можно есть возможность удалять элементы из множества, а также добавлять в него новые элементы. Множества создаются с помощью фигурных скобок. Очень похоже на списки, которые создаются с помощью квадратных скобок: thislist = ["кокос", 'арбуз', 'апельсин'] thisset = {"яблоко", "банан", "вишня"} Этот код напечатает(2): ['кокос', 'арбуз', 'апельсин'] Примечание (2): множества это неупорядоченные наборы элементов, поэтому вы не можете быть уверенными, в каком порядке будут появляться элементы множества. Итак, элементы множества не упорядочены, не изменяемы, и не допускают дубликатов элементов. Этим они коренным образом отличаются от списков. Не упорядоченность элементов множества. Это означает, что элементы в множестве не могут иметь какой-то заранее определенный порядок следования друг за другом. Т. е. нельзя гарантировать порядок извлечения элементов, когда вы обращаетесь к множеству в цикле. Также к элементам множества нельзя обращаться по индексу или ключевому слову (по имени элемента). Не изменяемость элементов множества. Это означает, что после создания множества вы не можете менять его отдельные элементы с помощью присваивания, как это было возможно для списка. Однако вы можете удалять элементы из созданного множества, а также добавлять в него новые элементы. Дубликаты элементов множества не допускаются. Это означает, то нельзя получить множество, где два его элемента имеют одинаковые значения. Дублирвоанные значения будут игнорироваться, например: thisset = {"яблоко", "банан", "вишня", "яблоко"} Этот код напечатает: {'яблоко', 'вишня', 'банан'} Замечание: значения True и 1 в множествах считаются одинаковыми, и обрабатываются как дубликаты. Например: thisset = {"яблоко", "банан", "вишня", True, 1, 2} Этот код напечатает: {True, 2, 'яблоко', 'вишня', 'банан'} Замечание: значения False и 0 в множествах считаются одинаковыми, и обрабатываются как дубликаты. Например: thisset = {"яблоко", "банан", "вишня", False, True, 0} Этот код напечатает: {False, True, 'яблоко', 'вишня', 'банан'} Получение длины множества. Как и для списка, длина множества это количество находящихся в нем элементов, и это можно узнать функцией len(). Например: thisset = {"яблоко", "банан", "вишня"} Этот код напечатает: 3 Типы данных элементов. Как вы уже наверное успели заметить, у множества могут быть элементы любого типа, и множество даже может содержать элементы разных типов. Все следующие выражения допустимы для Python: set1 = {"яблоко", "банан", "вишня"} set2 = {1, 5, 7, 9, 3} set3 = {True, False, False} set4 = {"abc", 3.14, True, 40, "male"} type(). С точки зрения Python множества определены как объекты класса set, т. е. они имеют тип данных 'set': class 'set'. Например: thisset = {"яблоко", "банан", "вишня"} Этот код напечатает: < class 'set'> Конструктор set(). Для создания множества может также использоваться конструктор set(). Обратите внимание, что используется двойные круглые скобки, например: thisset = set(("яблоко", "банан", "вишня")) [Коллекции Python (массивы)] Существует 4 типа коллекций данных на языке программирования Python: • List. Список: это коллекция элементов данных, которые упорядочены и изменяемы. Допускается использовать дубликаты элементов, и элементы могут быть любого типа. • Tuple. Кортеж: это коллекция элементов данных, которые упорядочены и неизменяемы. Допускается использовать дубликаты элементов, и элементы могут быть любого типа. • Set. Множество: это коллекция элементов данных, которые неупорядочены, незменяемы(3) и неиндексируемы. Не допускаются дубликаты элементов, и элементы могут быть любого типа. • Dictionary. Словарь: это коллекция упорядоченных(4) элементов данных, которые допускается менять. Значения в словаре могут быть любого типа, не допускаются дубликаты элементов (см. [2]). Примечания: (3) Здесь "неизменяемость" означает, что значение отдельного элемента созданного множества поменять нельзя. Однако можно есть возможность удалять элементы из множества, а также добавлять в него новые элементы. [Ссылки] 1. Python Sets site:w3schools.com. |