Python Sets MCQs (25)
Python Training in Vizag (Softenant)1) Uniqueness count.
print(len({1,1,2,2,3}))
A. 2
B. 4
C. 3
D. Error
2) From string.
print(len(set("sassafras")))
A. 3
B. 4
C. 5
D. 8
3) add vs update.
s = {1,2}
s.add((3,4))
s.update([5,6])
print(len(s))
A. 4
B. 5
C. 6
D. TypeError
4) remove on missing key.
s = {1,2}
s.remove(3)
A. Does nothing
B. KeyError
C. False
D. Returns None silently
5) discard on missing key.
s = {1,2}
s.discard(3)
print(len(s))
A. 1
B. 2
C. 3
D. Error
6) pop behavior.
s = {10, 20}
x = s.pop()
print(len(s) in (0,1), x in {10,20})
A. True True
B. True False
C. False True
D. False False
7) Union & intersection.
a, b = {1,2,3}, {3,4}
print(a | b, a & b)
A. {1,2,3,4} {3}
B. {1,2,3} {4}
C. {1,2,3,4} {1,2}
D. Error
8) Difference vs symmetric difference.
a, b = {1,2,3}, {3,4}
print(a - b, a ^ b)
A. {1,2} {1,2,4}
B. {4} {3,4}
C. {1,2,4} {1,2}
D. {} {3}
9) Subset checks.
a, b = {1,2}, {1,2,3}
print(a < b, a < a)
A. True True
B. True False
C. False True
D. False False
10) Set comprehension.
s = {x*x for x in range(4) if x % 2 == 1}
print(s)
A. {1, 9}
B. [1, 9]
C. {1, 4}
D. {1, 4, 9}
11) Duplicates removal.
print(len(set([1,1,2,2,2,3])))
A. 2
B. 3
C. 4
D. 5
12) frozenset immutability.
fs = frozenset({1,2})
try:
fs.add(3)
except Exception as e:
print(type(e).__name__)
A. AttributeError
B. TypeError
KeyError
D. None (no error)
13) Hashability pitfall.
s = set()
s.add([1,2])
A. Works; list is hashed
B. TypeError
C. KeyError
D. ValueError
14) Tuples are OK.
s = {(1,2), (1,2)}
print(len(s))
A. 1
B. 2
C. 0
D. Error
15) difference_update.
a = {1,2,3}
a.difference_update({2,4})
print(a)
A. {2,3}
B. {1,3}
C. {1,2,3,4}
D. {1}
16) update from string.
s = set()
s.update("ab")
print(len(s), 'a' in s and 'b' in s)
A. 1 False
B. 2 True
C. 2 False
D. 0 False
17) clear empties set.
s = {1,2}; s.clear()
print(len(s))
A. 0
B. 1
2
D. Error
18) copy is independent (shallow).
s1 = {1,2}
s2 = s1.copy()
s2.add(3)
print(3 in s1, 3 in s2)
A. False True
B. True True
C. False False
D. True False
19) intersection_update.
a = {1,2,3}
a.intersection_update({2,3,4})
print(a)
A. {1,2,3}
B. {2,3}
C. {4}
D. {1}
20) isdisjoint.
print({1,2}.isdisjoint({3,4}))
A. True
B. False
C. KeyError
D. TypeError
21) Operator precedence (> |).
a, b, c = {1,2,3}, {2,3,4}, {3,4,5}
print((a & b) | c)
A. {2,3,4,5}
B. {1,2,3,4,5}
C. {3,4,5}
D. {2,3}
22) Symmetric difference idempotence.
a = {1,2,3}
print(len(a ^ a))
A. 0
B. 1
C. 2
D. 3
23) Case-sensitive uniqueness.
print(len(set("Mississippi")))
A. 3
B. 4
C. 5
D. 7
24) Nested comprehension sums.
s = {i + j for i in {1,2} for j in {2,3}}
print(len(s), s == {3,4,5})
A. 2 False
B. 3 True
C. 4 True
D. 3 False
25) Conditional remove/add.
s = {1,2}
if 3 in s:
s.remove(3)
else:
s.add(3)
print(len(s))
A. 2
B. 3
C. 1
D. 0
Answer Key
1) C
2) B
3) B
4) B
5) B
6) A
7) A
8) A
9) B
10) A
11) B
12) A
13) B
14) A
15) B
16) B
17) A
18) A
19) B
20) A
21) A
22) A
23) B
24) B
25) A