|
- Programming4Fun http://www.programming4fun.pun.pl/index.php - Poradniki http://www.programming4fun.pun.pl/viewforum.php?id=21 - Kurs Pythona. Część 8. http://www.programming4fun.pun.pl/viewtopic.php?id=16 |
| Hoguzzos - 2014-07-10 22:12:17 |
ŹRÓDŁO : http://szgrabowski.kis.p.lodz.pl/Python-podstawy.html Kod:zb = set() zb.add(3); zb.add(1); zb.add(3) # można zapodać wiele instrukcji w linii - ze średnikami zb.add(-2) # ale zaleca się pisać każdą instrukcję w osobnej linii for i in zb: print i, print zb[0] # błąd! TypeError: 'set' object does not support indexing Zbiór można zainicjować listą: Kod:zb = set([4, 1, 2, 10.4]) Dla zbiorów działają relacje: ==, !=, a także >=, <=, którymi sprawdzamy, czy jeden zbiór jest podzbiorem (nadzbiorem) drugiego, np.: Kod:A = set([3, 1, 8]) B = set([1,8]) B <= A # zwraca True Mamy też równoważne metody issubset, issuperset (wypróbuj). Kod:3 in A # zwróci True 8 not in B # zwróci False Dostępne są operacje mnogościowe na zbiorach: suma (metoda union albo operator |, działają tak samo), przekrój (część wspólna) (metoda intersection albo operator &), różnica (metoda difference albo operator -) i różnica symetryczna (metoda symmetric_difference albo operator ^). Przykłady: Kod:C = (A - B).union([-1,2,4]) D = set([7,8]) & B E = A.symmetric_difference(set([1,2,3,5])) Istnieje też typ frozenset, tj. zbiór niemutowalny. Kod:X = frozenset([5, 1, 2]) X.add(3) # AttributeError: 'frozenset' object has no attribute 'add' Obiekty typu frozenset, w przeciwieństwie do set, mogą być kluczami w słownikach oraz elementami innych zbiorów. Można też „zamrażać” i „rozmrażać”, np. frozD = frozenset(D). |