Skip to content

Latest commit

 

History

History
47 lines (29 loc) · 2.43 KB

File metadata and controls

47 lines (29 loc) · 2.43 KB

Set-ове са списъци без дублиращи се елементи. Нека кажем, че искате да съберете списък с думи, използвани в един параграф:

print(set("my name is Eric and Eric is my name".split()))

Това ще отпечата списък, съдържащ "my", "name", "is", "Eric" и накрая "and". Тъй като останалите думи в изречението вече са в множеството, те не се добавят втори път.

Set-овете са мощен инструмент в Python, защото имат способността да изчисляват разликите и пресечните точки между други set-ове. Например, да кажем, че имате списък с участници в събития 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.