Skip to content

Latest commit

 

History

History
61 lines (42 loc) · 1.72 KB

File metadata and controls

61 lines (42 loc) · 1.72 KB

Zbiory w Pythonie

Zbiory to listy bez duplikatów. Załóżmy, że chcesz zebrać listę słów użytych w akapicie:

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

To wydrukuje listę zawierającą "my", "name", "is", "Eric", a na końcu "and". Ponieważ reszta zdania używa słów, które są już w zbiorze, nie są one dodawane po raz drugi.

Zbiory są potężnym narzędziem w Pythonie, ponieważ mogą obliczać różnice i przecięcia między innymi zbiorami. Na przykład, załóżmy, że masz listę uczestników wydarzeń A i B:

a = set(["Jake", "John", "Eric"])
print(a)
b = set(["John", "Jill"])
print(b)

Aby dowiedzieć się, którzy członkowie uczestniczyli w obu wydarzeniach, możesz użyć metody "intersection":

a = set(["Jake", "John", "Eric"])
b = set(["John", "Jill"])

print(a.intersection(b))
print(b.intersection(a))

Aby dowiedzieć się, którzy członkowie uczestniczyli tylko w jednym z wydarzeń, użyj metody "symmetric_difference":

a = set(["Jake", "John", "Eric"])
b = set(["John", "Jill"])

print(a.symmetric_difference(b))
print(b.symmetric_difference(a))

Aby dowiedzieć się, którzy członkowie uczestniczyli tylko w jednym wydarzeniu, a nie w innym, użyj metody "difference":

a = set(["Jake", "John", "Eric"])
b = set(["John", "Jill"])

print(a.difference(b))
print(b.difference(a))

Aby otrzymać listę wszystkich uczestników, użyj metody "union":

a = set(["Jake", "John", "Eric"])
b = set(["John", "Jill"])

print(a.union(b))

Exercise--------

W poniższym ćwiczeniu użyj podanych list, aby wydrukować zbiór zawierający wszystkich uczestników z wydarzenia A, którzy nie uczestniczyli w wydarzeniu B.