*Memo:
- My post explains a frozenset (1).
- My post explains a frozenset (3).
- My post explains a frozenset (4).
A non-empty frozenset and empty frozenset are:
-
TrueandFalse, checking them with bool() respectively. -
FalseandTrue, inverting their truth values withnotkeyword respectively.
# Non-empty frozenset
print(bool(frozenset([0])))
print(bool(frozenset([frozenset()])))
# True
# Empty frozenset
print(bool(frozenset()))
# False
# Non-empty frozenset
print(not frozenset([0]))
print(not frozenset([frozenset()]))
# False
# Empty frozenset
print(not frozenset())
# True
A frozenset can be checked if a specific element is and isn't in the frozenset with in keyword and with not and in keyword respectively as shown below:
A = frozenset([10, frozenset([20, 30])])
print(10 in A)
print(frozenset([20, 30]) in A)
# True
print(20 in A)
print(30 in A)
print(frozenset([10]) in A)
print(frozenset([20]) in A)
print(frozenset([30]) in A)
print(frozenset([10, frozenset([20, 30])]) in A)
print(frozenset() in A)
# False
A = frozenset([10, frozenset([20, 30])])
print(10 not in A)
print(frozenset([20, 30]) not in A)
# False
print(20 not in A)
print(30 not in A)
print(frozenset([10]) not in A)
print(frozenset([20]) not in A)
print(frozenset([30]) not in A)
print(frozenset([10, frozenset([20, 30])]) not in A)
print(frozenset() not in A)
# True
A frozenset can be checked if the frozenset is and isn't referred to by two variables with is keyword and with is and not keyword respectively as shown below:
A = frozenset([10, 20, 30])
B = frozenset([10, 20, 30])
C = A
print(A is B) # False
print(A is C) # True
print(A is not B) # True
print(A is not C) # False
A frozenset and other frozenset can be checked if all the elements in:
- them are and aren't the same with
==and!=respectively. - the frozenset are in other frozenset with
<=. - other frozenset are in the frozenset with
>=. - the frozenset and other elements are in other frozenset with
<. - other frozenset and other elements are in the frozenset with
>.
A = frozenset([10, 20, 30])
print(A == frozenset([10, 20, 30])) # True
print(A == frozenset([10, 20, 40])) # False
print(A == frozenset([10, 20])) # False
print(A == frozenset([10, 40])) # False
print(A == frozenset([10, 20, 30, 40])) # False
print(A == frozenset([10, 20, 40, 50])) # False
print(A == frozenset()) # False
A = frozenset([10, 20, 30])
print(A != frozenset([10, 20, 30])) # False
print(A != frozenset([10, 20, 40])) # True
print(A != frozenset([10, 20])) # True
print(A != frozenset([10, 40])) # True
print(A != frozenset([10, 20, 30, 40])) # True
print(A != frozenset([10, 20, 40, 50])) # True
print(A != frozenset()) # True
A = frozenset([10, 20, 30])
print(A <= frozenset([10, 20, 30])) # True
print(A <= frozenset([10, 20, 40])) # False
print(A <= frozenset([10, 20])) # False
print(A <= frozenset([10, 40])) # False
print(A <= frozenset([10, 20, 30, 40])) # True
print(A <= frozenset([10, 20, 40, 50])) # False
print(A <= frozenset()) # False
A = frozenset([10, 20, 30])
print(A >= frozenset([10, 20, 30])) # True
print(A >= frozenset([10, 20, 40])) # False
print(A >= frozenset([10, 20])) # True
print(A >= frozenset([10, 40])) # False
print(A >= frozenset([10, 20, 30, 40])) # False
print(A >= frozenset([10, 20, 40, 50])) # False
print(A >= frozenset()) # True
A = frozenset([10, 20, 30])
print(A < frozenset([10, 20, 30])) # False
print(A < frozenset([10, 20, 40])) # False
print(A < frozenset([10, 20])) # False
print(A < frozenset([10, 40])) # False
print(A < frozenset([10, 20, 30, 40])) # True
print(A < frozenset([10, 20, 40, 50])) # False
print(A < frozenset()) # False
A = frozenset([10, 20, 30])
print(A > frozenset([10, 20, 30])) # False
print(A > frozenset([10, 20, 40])) # False
print(A > frozenset([10, 20])) # True
print(A > frozenset([10, 40])) # False
print(A > frozenset([10, 20, 30, 40])) # False
print(A > frozenset([10, 20, 40, 50])) # False
print(A > frozenset()) # True
A frozenset and other frozenset can be checked if they have and don't have their common elements with bool() and & and with not keyword and & respectively as shown below:
A = frozenset([10, 20, 30])
print(bool(A & frozenset([20, 40]))) # True
print(bool(A & frozenset([40, 50]))) # False
print(bool(A & frozenset())) # False
print(not (A & frozenset([20, 40]))) # False
print(not (A & frozenset([40, 50]))) # True
print(not (A & frozenset())) # True
A frozenset cannot be enlarged with * and a number as shown below:
A = frozenset([10, 20, 30, 40, 50]) * 3
# TypeError: unsupported operand type(s) for *: 'frozenset' and 'int'
A frozenset and other frozensets cannot be concatenated with + as shown below:
A = frozenset([10, 20, 30]) + frozenset([30, 40]) + frozenset([50, 60, 70, 80])
# TypeError: unsupported operand type(s) for +: 'frozenset' and 'frozenset'
A frozenset and other frozenset can return:
- all the elements in them with
'|'(Union: A ∪ B). - their common elements with
'&'(Intersection: A ∩ B). - the elements in the frozenset which aren't in other frozenset with
'-'(Difference: A - B). - the elements in either the frozenset or other frozenset but not both with
'^'(Symmetric Difference: A Δ B).
A = frozenset([10, 50])
B = frozenset([10, 30, 50])
C = frozenset([10, 20, 40, 50])
print(A | B)
# frozenset({50, 10, 30})
print(A | C)
# frozenset({50, 20, 40, 10})
print(B | C)
# frozenset({50, 20, 40, 10, 30})
print(A | B | C)
# frozenset({50, 20, 40, 10, 30})
A = frozenset([10, 20, 30, 40])
B = frozenset([10, 30, 50])
C = frozenset([30, 40])
print(A & B)
# frozenset({10, 30})
print(A & C)
# frozenset({40, 30})
print(B & C)
# frozenset({30})
print(A & B & C)
# frozenset({30})
A = frozenset([10, 20, 30, 40])
B = frozenset([10, 30, 50])
C = frozenset([30, 40])
print(A - B)
# frozenset({40, 20})
print(A - C)
# frozenset({10, 20})
print(B - C)
# frozenset({10, 50})
print(A - B - C)
# frozenset({20})
A = frozenset([10, 20, 30, 40])
B = frozenset([10, 30, 50])
C = frozenset([30, 40])
print(A ^ B)
# frozenset({40, 50, 20})
print(A ^ C)
# frozenset({10, 20})
print(B ^ C)
# frozenset({40, 10, 50})
print(A ^ B ^ C)
# frozenset({50, 20, 30})
Top comments (0)