Множества — это списки без дубликатов. Допустим, вы хотите собрать список слов, использованных в абзаце:
print(set("my name is Eric and Eric is my name".split()))
Это выведет список, содержащий "my", "name", "is", "Eric", и в конечном итоге "and". Поскольку остальная часть предложения использует слова, которые уже есть в множестве, они не вставляются дважды.
Множества — мощный инструмент в Python, поскольку они могут вычислять разности и пересечения между другими множествами. Например, допустим, у вас есть список участников мероприятий A и B:
a = set(["Jake", "John", "Eric"]) print(a) b = set(["John", "Jill"]) print(b)
Чтобы выяснить, какие участники посетили оба мероприятия, вы можете использовать метод "intersection":
a = set(["Jake", "John", "Eric"]) b = set(["John", "Jill"])
print(a.intersection(b)) print(b.intersection(a))
Чтобы выяснить, какие участники посетили только одно из мероприятий, используйте метод "symmetric_difference":
a = set(["Jake", "John", "Eric"]) b = set(["John", "Jill"])
print(a.symmetric_difference(b)) print(b.symmetric_difference(a))
Чтобы выяснить, какие участники посетили только одно мероприятие, а не другое, используйте метод "difference":
a = set(["Jake", "John", "Eric"]) b = set(["John", "Jill"])
print(a.difference(b)) print(b.difference(a))
Чтобы получить список всех участников, используйте метод "union":
a = set(["Jake", "John", "Eric"]) b = set(["John", "Jill"])
print(a.union(b))
Exercise--------
В упражнении ниже используйте данные списки, чтобы вывести множество, содержащее всех участников мероприятия A, которые не посетили мероприятие B.