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

Python Lists MCQs (25)

Covers indexing & slicing, mutability, append/extend/insert, remove/pop, copy vs reference, list multiplication, sorting, comprehensions, nested lists, and pitfalls. Answers at the end

Python Training in Vizag (Softenant)

1) What prints?

lst = [10, 20, 30]
print(lst[1])
A. 10
B. 20
C. 30
D. IndexError

2) Slicing result?

lst = [0,1,2,3,4]
print(lst[1:4])
A. [1, 2, 3]
B. [1, 2, 3, 4]
C. [0, 1, 2, 3]
D. [2, 3, 4]

3) Negative index.

lst = ['a','b','c']
print(lst[-1])
A. a
B. b
C. c
D. IndexError

4) Append vs extend?

x = [1,2]; y = [3,4]
x.append(y)
print(x)
A. [1, 2, 3, 4]
B. [1, 2, [3, 4]]
C. [1, 2]
D. Error

5) Extend.

x = [1,2]; y = [3,4]
x.extend(y)
print(x)
A. [1, 2, [3, 4]]
B. [1, 2, 3, 4]
C. [1, 2]
D. Error

6) Insert effect.

lst = [1,3]
lst.insert(1, 2)
print(lst)
A. [1, 2, 3]
B. [1, 3, 2]
C. [2, 1, 3]
D. Error

7) Remove vs pop.

lst = [1,2,3,2]
lst.remove(2)
print(lst)
A. [1, 3, 2]
B. [1, 2, 3]
C. [1, 3]
D. Error

8) What does pop return?

lst = [10, 20, 30]
x = lst.pop()
print(x, lst)
A. 30 [10, 20]
B. 10 [20, 30]
C. None [10,20]
D. Error

9) Slice assignment.

lst = [0,1,2,3]
lst[1:3] = ['a','b','c']
print(lst)
A. [0, ‘a’, ‘b’, ‘c’, 3]
B. [0, ‘a’, ‘b’, 3]
C. [0, 1, 2, 3, ‘a’,’b’,’c’]
D. Error

10) Copy vs reference.

a = [1,2]
b = a
b.append(3)
print(a)
A. [1, 2]
B. [1, 2, 3]
C. Error
D. None

11) Shallow copy.

a = [[0],[1]]
b = a.copy()
b[0].append(9)
print(a[0])
A. [0]
B. [0, 9]
C. 0
D. Error

12) List multiplication pitfall.

m = [[0]] * 3
m[0][0] = 7
print(m)
A. [[7], [0], [0]]
B. [[7], [7], [7]]
C. [[0,7,0]]
D. Error

13) Correct way to get 3 independent inner lists?

m = [[0] for _ in range(3)]
m[0][0] = 7
print(m)
A. [[7],[0],[0]]
B. [[7],[7],[7]]
C. [[0,7,0]]
D. Error

14) Sorted vs sort.

lst = [3,1,2]
x = sorted(lst); y = lst.sort()
print(x, y, lst)
A. [1,2,3] None [1,2,3]
B. [1,2,3] [1,2,3] [1,2,3]
C. None [1,2,3] [3,1,2]
D. Error

15) Reverse order.

lst = [1,2,3]
lst.reverse()
print(lst)
A. [3, 2, 1]
B. [1, 2, 3]
C. None
D. Error

16) Comprehension filter & map.

print([n*n for n in range(5) if n % 2 == 1])
A. [1, 9]
B. [0, 4, 16]
C. [0,1,4,9,16]
D. []

17) Membership & count.

lst = [1,2,2,3]
print(2 in lst, lst.count(2))
A. False 1
B. True 1
C. True 2
D. False 2

18) index() when missing.

lst = [1,2,3]
print(lst.index(4))
A. 0
B. -1
C. ValueError
D. None

19) Join on list of strings.

parts = ["py","thon"]
print("-".join(parts))
A. py-thon
B. [‘py’,’thon’]
C. Error
D. (‘py’,’thon’)

20) But this join fails.

nums = [1,2,3]
print(",".join(nums))
A. 1,2,3
B. [‘1′,’2′,’3’]
C. TypeError
D. (no output)

21) Min/Max on mixed types (Py3)?

print(min([1, "2"]))
A. 1
B. “2”
C. TypeError
D. None

22) Deleting by slice.

lst = [0,1,2,3,4]
del lst[1:4:2]
print(lst)
A. [0,2,4]
B. [0,1,3,4]
C. [0,2,3,4]
D. [0,3,4]

23) Step slicing.

lst = [0,1,2,3,4,5]
print(lst[::2])
A. [0,2,4]
B. [1,3,5]
C. [5,4,3,2,1,0]
D. [2,4]

24) Reverse slice copy.

lst = [1,2,3]
rev = lst[::-1]
lst.append(4)
print(rev)
A. [3,2,1,4]
B. [3,2,1]
C. [1,2,3]
D. Error

25) Unpacking heads & tail.

lst = [1,2,3,4]
a, *mid, d = lst
print(a, mid, d)
A. 1 [2,3] 4
B. 1 [2] 4
C. 1 [2,3,4] 4
D. ValueError

Answer Key

1) B

2) A

3) C

4) B

5) B

6) A

7) A

8) A

9) A

10) B

11) B

12) B

13) A

14) A

15) A

16) A

17) C

18) C

19) A

20) C

21) C

22) C

23) A

24) B

25) A