Softenant
Technologies
Python Sets MCQs (25) — Answers at the End

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