In Python, what is the value of `x` after executing: `x = [1, 2, 3]; y = x; y.append(4)`?
Answer and explanation
Correct answer: B. `[1, 2, 3, 4]`
- Step 1: In Python, lists are mutable objects, and variable assignment copies object references, not values.
- Step 2: `y = x` makes both `y` and `x` point to the exact same list in memory. Appending 4 via `y` modifies that shared object, so `x` evaluates to `[1, 2, 3, 4]`.
Answer
`[1, 2, 3, 4]`.
Why not the others: '`[1, 2, 3]`' assumes assignment performs a deep value copy; '`[4]`' overwrites the list; '`[1, 2, 3, 4, 4]`' duplicates the append operation.
Practise more Python Programming, Data Structures, Algorithms, Networks and Cybersecurity.
Free questions with an explanation for every one, and full timed Saudi Secondary School Certificate mock tests.
More Python Programming, Data Structures, Algorithms, Networks and Cybersecurity questions
- What is the time complexity of searching for an element in an unsorted array of elements using linear search?
- What is the output of the following Python expression: `[x**2 for x in range(5) if x % 2 == 1]`?
- Which data structure operates on a Last-In, First-Out (LIFO) access principle?
- Which SQL clause is used to filter aggregated group records after a `GROUP BY` statement has been applied?
- What type of network topology connects all nodes to a central forwarding device such as a network switch?
- In cybersecurity, what type of malicious attack overwhelms a web server with massive volumes of traffic from multiple compromised sources to…