PCEP Computer Programming and Python Fundamentals Practice Question
Which of the following is an immutable data type in Python?
⚠ Common exam trap
Python Institute often tests the misconception that 'immutable' means the variable cannot be reassigned, when in fact it means the object's contents cannot be changed — a common trap that leads candidates to incorrectly label strings or tuples as mutable.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
tuple
A tuple is immutable because once created, its elements cannot be changed, added, or removed. This is enforced by Python's internal structure: tuples are stored as a fixed-length array of object references, and no methods exist to modify them in place.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
tuple
Why this is correct
Tuples are immutable: once created, their elements cannot be reassigned, added or removed, satisfying the stem's requirement for an immutable type. Unlike lists, which permit in-place mutation, a tuple's contents stay fixed for its lifetime, making it the correct choice among the options given.
- ✗
set
Why it's wrong here
A set is mutable: add, discard, and clear modify it in place, so it fails the immutability requirement. Sets suit deduplication and membership testing; the immutable counterpart is frozenset, which can be hashed and used as a dictionary key.
- ✗
list
Why it's wrong here
Lists are mutable; append, remove, and item assignment all alter the object in place, so a list cannot be immutable. Lists are the right choice when a growable, reorderable sequence is needed, not when hashability or fixed contents are required.
- ✗
dict
Why it's wrong here
A dict is mutable: keys can be added, removed, or reassigned after creation, so it cannot serve as an immutable type. Dictionaries suit scenarios needing dynamic key-value lookups, whereas tuples and strings are the immutable choices.
Go deeper
Related to this question
About these practice questions
Courseiva writes every PCEP question from scratch — 482 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This PCEP practice question is part of Courseiva's free Python Institute certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PCEP exam.