Найти в Дзене

Множества в питоне

Множество - это накопитель, набор элементов одного или разного типа, каждый из которых не имеет индекса!!! ,расположены хаотично, и самое главное- они не повторяются. Множество создается set() или {}. Добавлять от руки можно только в {}. Но set() позволит преобразовать строку или список в множество - set(строка или список) Основные функции множества: Это основные 3 функции. И конечно еще есть много функций для работы с множествами. При создании множества из строки, необходимо строку превратить в список, с помощью split() по разделителю. И потом уже, список превращаем в множество, с помощью функции set() Если в строке, по человечески есть числа, то чтобы с ними работать как с числовыми типами данных, необходимо до set() сделать генерацию списка по int() x=set([int(i) for i in input().split()]) При работе с кол-вом множеств, когда их число не известно, то: n=int(input()) x=set() for i in range(n): y=set([int(i) for i in input().split()]) x=x.union(y) тогда получим добавление все

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

Множество создается set() или {}. Добавлять от руки можно только в {}.

Но set() позволит преобразовать строку или список в множество - set(строка или список)

Основные функции множества:

  • обьединение-- union или |
  • пересечение -- intersection или &
  • вычитание -- differense или -

Это основные 3 функции. И конечно еще есть много функций для работы с множествами.

При создании множества из строки, необходимо строку превратить в список, с помощью split() по разделителю. И потом уже, список превращаем в множество, с помощью функции set()

Если в строке, по человечески есть числа, то чтобы с ними работать как с числовыми типами данных, необходимо до set() сделать генерацию списка по int()

x=set([int(i) for i in input().split()])

При работе с кол-вом множеств, когда их число не известно, то:

  • если обьединяем все множества в одно, заранее создаем множество до For по обьединению. И потом, внутри For- добавляем множества к основному:

n=int(input())

x=set()

for i in range(n):

y=set([int(i) for i in input().split()])

x=x.union(y)

тогда получим добавление всех множеств в одно общее.

  • если делаем пересечение всех множеств в одно, заранее создаем множество до For по пересечению. И потом, внутри For- пересекаем множества с основным.Но есть проблема-пересечение 1 множества и первый раз основного множества даст пустое опять и т.д. на каждом цикле. И , в итоге, будет пустое множество всегда, а не пересечение всех. Для этого , с начало по 1 циклу первое множество добавляют в итоговое. А потом уже, все остальные множества ,делают пересечение с итоговым, добавляя результат в него.

n=int(input())

x=set()

for i in range(n):

y=set([int(i) for i in input().split()])

if i==0:

x=y

else:

x=x&y

тогда получим пересечение всех множеств в одно общее.

Для разности,делаем также.