Программирование PC Python: множества Sat, March 29 2025  

Поделиться

Нашли опечатку?

Пожалуйста, сообщите об этом - просто выделите ошибочное слово или фразу и нажмите Shift Enter.


Python: множества Печать
Добавил(а) microsin   

Множество (set) используются для сохранения нескольких элементов в одной переменной. Множество является одним из 4 встроенных типов данных Python, используемых для сохранения наборов данных. Другие 3 таких типа это список (List), кортеж (Tuple) и словарь (Dictionary), все они отличаются своими особенностями и использованием.

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

Примечание (1): "неизменяемых" означает, что значение отдельного элемента созданного множества поменять нельзя. Однако можно есть возможность удалять элементы из множества, а также добавлять в него новые элементы.

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

thislist = ["кокос", 'арбуз', 'апельсин']
thisset  = {"яблоко", "банан", "вишня"}
print(thislist)
print(thisset)

Этот код напечатает(2):

['кокос', 'арбуз', 'апельсин']
{'яблоко', 'банан', 'вишня'}

Примечание (2): множества это неупорядоченные наборы элементов, поэтому вы не можете быть уверенными, в каком порядке будут появляться элементы множества.

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

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

Не изменяемость элементов множества. Это означает, что после создания множества вы не можете менять его отдельные элементы с помощью присваивания, как это было возможно для списка. Однако вы можете удалять элементы из созданного множества, а также добавлять в него новые элементы.

Дубликаты элементов множества не допускаются. Это означает, то нельзя получить множество, где два его элемента имеют одинаковые значения. Дублирвоанные значения будут игнорироваться, например:

thisset = {"яблоко", "банан", "вишня", "яблоко"}
print(thisset)

Этот код напечатает:

{'яблоко', 'вишня', 'банан'}

Замечание: значения True и 1 в множествах считаются одинаковыми, и обрабатываются как дубликаты. Например:

thisset = {"яблоко", "банан", "вишня", True, 1, 2}
print(thisset)

Этот код напечатает:

{True, 2, 'яблоко', 'вишня', 'банан'}

Замечание: значения False и 0 в множествах считаются одинаковыми, и обрабатываются как дубликаты. Например:

thisset = {"яблоко", "банан", "вишня", False, True, 0}
print(thisset)

Этот код напечатает:

{False, True, 'яблоко', 'вишня', 'банан'}

Получение длины множества. Как и для списка, длина множества это количество находящихся в нем элементов, и это можно узнать функцией len(). Например:

thisset  = {"яблоко", "банан", "вишня"}
print(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 = {"яблоко", "банан", "вишня"}
print(type(thisset))

Этот код напечатает:

< class 'set'>

Конструктор set(). Для создания множества может также использоваться конструктор set(). Обратите внимание, что используется двойные круглые скобки, например:

thisset = set(("яблоко", "банан", "вишня"))
print(thisset)

[Коллекции Python (массивы)]

Существует 4 типа коллекций данных на языке программирования Python:

List. Список: это коллекция элементов данных, которые упорядочены и изменяемы. Допускается использовать дубликаты элементов, и элементы могут быть любого типа.

Tuple. Кортеж: это коллекция элементов данных, которые упорядочены и неизменяемы. Допускается использовать дубликаты элементов, и элементы могут быть любого типа.

Set. Множество: это коллекция элементов данных, которые неупорядочены, незменяемы(3) и неиндексируемы. Не допускаются дубликаты элементов, и элементы могут быть любого типа.

Dictionary. Словарь: это коллекция упорядоченных(4) элементов данных, которые допускается менять. Значения в словаре могут быть любого типа, не допускаются дубликаты элементов (см. [2]).

Примечания:

(3) Здесь "неизменяемость" означает, что значение отдельного элемента созданного множества поменять нельзя. Однако можно есть возможность удалять элементы из множества, а также добавлять в него новые элементы.
(4) Начиная с версии Python 3.7 словари упорядочены. В Python 3.6 и более старых версий словари не упорядочены.

[Ссылки]

1. Python Sets site:w3schools.com.
2. Python: словари.

 

Добавить комментарий


Защитный код
Обновить

Top of Page