Оглавление:
Карта сайта:
Оглавление:
Карта сайта:
Множества — неупорядоченные наборы уникальных объектов, поддерживающих хеширование. Множества могут быть изменяемыми и неизменяемыми. Размерность и состав созданного однажды неизменяемого множества не может меняться, вместо этого обычно создаётся новое множество.
Множества обычно используются для проверки вхождения элемента, устранения из последовательности дубликатов, и таких математических операций как: пересечение, объединение, разница и симметичная разница.
Множества не упорядочены, они не хранят ни позицию элемента, ни порядок вставки. Поэтому наборы не поддерживают ни обращение к элементам по индексам, ни срезы, ни какое-либо другое поведение, присущее последовательностям.
s = {'apple', 'orange', 'pear', 'banana'} print(s, type(s)) # {'pear', 'apple', 'banana', 'orange'} <class 'set'> s = set('apple') print(s) # {'a', 'l', 'e', 'p'} - Выкидывает повторяющиеся объекты
числа при формирования множества сортируются по возростанию
s = {i for i in range(1, 10)} print(s) # {1, 2, 3, 4, 5, 6, 7, 8, 9}
s = {} print(s, type(s)) #{} <class 'dict'>, создается не множество а словарь s = set()# Правильно использовать конструктор set print(s, type(s)) # set() <class 'set'>
Проход по элементам последовательности производится при помощи for in:
for item in {1, 2, 'some'}: print(item)
Количество элементов в последовательности можно получить, используя функцию len().
len({1, 2, 'some'}) # 3
Два множества равны тогда и только тогда, когда каждый из элементов множества содержится во втором (когда каждое из множест является подмножеством другого).
Одно множество меньше другого тогда и только тогда, если первое является правильным подмножеством последнего (является подмножеством, но не равно).
Одно множество больше другого тогда и только тогда, когда первое является правильным надмножеством последнего (является надмножеством, но не равно).
Два любых непустых непересекающихся множества не являются равными и не являются подмножествами друг для друга, поэтому следующию сравнения вернут False: a == b, a > b, a < b. Множества не реализуют метод cmp().
Ввиду того, что множества реализуют частичное упорядочивание (отношения подмножеств), результат метода list.sort() для списка множеств не определён.