*Memo:
- My post explains a list comprehension.
- My post explains a tuple comprehension.
- My post explains a set comprehension.
- My post explains a dictionary comprehension.
- My post explains a generator comprehension.
- My post explains a frozenset (1).
A comprehension is the concise expression to create an iterable and there are a list, tuple, set, frozenset, dictionary(dict) and generator comprehension:
<Frozenset comprehension>:
1D frozenset:
sample = frozenset([0, 1, 2, 3, 4, 5, 6, 7])
A = frozenset(x**2 for x in sample)
print(A)
# frozenset({0, 1, 4, 36, 9, 16, 49, 25})
The below is without a frozenset comprehension:
sample = frozenset([0, 1, 2, 3, 4, 5, 6, 7])
A = []
for x in sample:
A.append(x**2)
A = frozenset(A)
print(A)
# frozenset({0, 1, 4, 36, 9, 16, 49, 25})
sample = frozenset([0, 1, 2, 3, 4, 5, 6, 7])
A = frozenset()
for x in sample:
A = A.union({x**2})
print(A)
# frozenset({0, 1, 16, 49, 4, 36, 9, 25})
2D frozenset:
sample = frozenset([frozenset([0, 1, 2, 3]), frozenset([4, 5, 6, 7])])
A = frozenset([frozenset(y**2 for y in x) for x in sample])
print(A)
# frozenset({frozenset({16, 25, 36, 49}), frozenset({0, 1, 4, 9})})
The below is without a frozenset comprehension:
sample = frozenset([frozenset([0, 1, 2, 3]), frozenset([4, 5, 6, 7])])
A = []
for i, x in enumerate(sample):
A.append([])
for y in x:
A[i].append(y**2)
A[i] = frozenset(A[i])
A = frozenset(A)
print(A)
# frozenset({frozenset({16, 25, 36, 49}), frozenset({0, 1, 4, 9})})
sample = frozenset([frozenset([0, 1, 2, 3]), frozenset([4, 5, 6, 7])])
A = frozenset()
for x in sample:
def func(x):
for y in x:
yield y**2
A = A.union(frozenset([frozenset(func(x))]))
A = frozenset(A)
print(A)
# frozenset({frozenset({16, 25, 36, 49}), frozenset({0, 1, 4, 9})})
3D frozenset:
sample = frozenset([frozenset([frozenset([0, 1]), frozenset([2, 3])]),
frozenset([frozenset([4, 5]), frozenset([6, 7])])])
A = frozenset(frozenset(frozenset(z**2 for z in y) for y in x) for x in sample)
print(A)
# frozenset({frozenset({frozenset({16, 25}), frozenset({49, 36})}),
# frozenset({frozenset({9, 4}), frozenset({0, 1})})})
The below is without a frozenset comprehension:
sample = frozenset([frozenset([frozenset([0, 1]), frozenset([2, 3])]),
frozenset([frozenset([4, 5]), frozenset([6, 7])])])
A = []
for i, x in enumerate(sample):
A.append([])
for j, y in enumerate(x):
A[i].append([])
for z in y:
A[i][j].append(z**2)
A[i][j] = frozenset(A[i][j])
A[i] = frozenset(A[i])
A = frozenset(A)
print(A)
# frozenset({frozenset({frozenset({16, 25}), frozenset({49, 36})}),
# frozenset({frozenset({9, 4}), frozenset({0, 1})})})
sample = frozenset([frozenset([frozenset([0, 1]), frozenset([2, 3])]),
frozenset([frozenset([4, 5]), frozenset([6, 7])])])
A = frozenset()
for x in sample:
def func(x):
for z, y in x:
yield frozenset({z**2, y**2})
A = A.union(frozenset([frozenset(func(x))]))
print(A)
# frozenset({frozenset({frozenset({16, 25}), frozenset({49, 36})}),
# frozenset({frozenset({9, 4}), frozenset({0, 1})})})
Top comments (0)