Home › Interview Questions › What is the output of the following Python snippet…

What is the output of the following Python snippet, and why does sum equal 11?

🟢 Easy Conceptual Fresher level
2Times asked
Nov 2026Last seen
Nov 2026First seen

💡 Model Answer

The snippet demonstrates how assignment in Python creates references rather than copies. When you write names2 = names1, both variables point to the same list object in memory. Mutating the list through names2, such as names2[0] = 'Bob', also changes names1[0] because they share the same underlying list. In the code, b[0] is 'Bob', so the condition if b[0] in (…) evaluates to True. The next condition if a[1] == 'Alice' is False because a[1] is 'Bear'. Therefore, only the statement sum += 1 executes, adding 1 to the initial sum of 10, resulting in sum = 11. The key takeaway is that assignment copies references, not the actual list contents. To create an independent copy, you would use names2 = names1.copy() or names2 = list(names1). This subtlety is crucial when working with mutable objects in Python, as unintended side effects can arise if you assume a deep copy has been made.

This answer was generated by AI for study purposes. Use it as a starting point — personalize it with your own experience.

🎤 Get questions like this answered in real-time

Assisting AI listens to your interview, captures questions live, and gives you instant AI-powered answers on a discreet on-screen overlay.

Get Assisting AI — Starts at ₹500