Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Understanding List Mutability in Python
๐ Scenario: Imagine you have a shopping list that you want to update as you buy items or add new ones. In Python, lists let you change their contents easily. This project will help you see how lists can be changed after you create them.
๐ฏ Goal: You will create a list of shopping items, add a new item, change an existing item, and then print the updated list to see how lists can be changed.
๐ What You'll Learn
Create a list with exact items
Add a new item to the list
Change an existing item in the list
Print the final list
๐ก Why This Matters
๐ Real World
Lists are used everywhere to keep track of things like shopping items, tasks, or contacts. Being able to change lists helps you update information easily.
๐ผ Career
Understanding list mutability is important for jobs that involve data handling, software development, and automation where data changes often.
Progress0 / 4 steps
1
Create the initial shopping list
Create a list called shopping_list with these exact items in order: 'milk', 'eggs', 'bread'
Python
Hint
Use square brackets [] to create a list and separate items with commas.
2
Add a new item to the list
Add the item 'butter' to the end of the shopping_list using the append() method
Python
Hint
Use shopping_list.append('butter') to add 'butter' at the end.
3
Change an existing item in the list
Change the second item in shopping_list from 'eggs' to 'organic eggs' by assigning a new value at index 1
Python
Hint
Remember, list indexes start at 0. Use shopping_list[1] to access the second item.
4
Print the updated shopping list
Print the shopping_list to show the final list with all changes
Python
Hint
Use print(shopping_list) to display the list.
Practice
(1/5)
1. Which of the following statements about Python lists is true?
easy
A. Lists cannot be changed once created.
B. Lists can be changed after they are created.
C. Lists are immutable like strings.
D. Lists can only store numbers.
Solution
Step 1: Understand list mutability
Python lists are mutable, meaning you can change their contents after creation.
Step 2: Compare options
Lists can be changed after they are created. ("Lists can be changed after they are created.") correctly states that lists are mutable. Options A and C incorrectly claim lists cannot be changed or are immutable like strings. Lists can only store numbers. is wrong because lists can store any data type.
Final Answer:
Lists can be changed after they are created. -> Option B
Quick Check:
List mutability = True [OK]
Hint: Remember: lists are like clay, easy to reshape [OK]
Common Mistakes:
Confusing lists with strings (immutable)
Thinking lists only hold numbers
Believing lists cannot be changed
2. Which of the following is the correct way to change the first item of a list my_list to 10?
easy
A. my_list[0] = 10
B. my_list(0) = 10
C. my_list{0} = 10
D. my_list.set(0, 10)
Solution
Step 1: Recall list item assignment syntax
In Python, list items are accessed and assigned using square brackets and index, like my_list[0].
Step 2: Check each option
my_list[0] = 10 uses correct syntax. Options B and C use wrong brackets. my_list.set(0, 10) uses a method that does not exist for lists.
Final Answer:
my_list[0] = 10 -> Option A
Quick Check:
Use square brackets for list item assignment [OK]
Hint: Use square brackets [] to access or change list items [OK]
Common Mistakes:
Using parentheses instead of brackets
Trying to use curly braces for indexing
Assuming lists have a set() method
3. What will be the output of this code?
numbers = [1, 2, 3]
numbers[1] = 5
print(numbers)
medium
A. [1, 5, 3]
B. [1, 2, 3]
C. [5, 2, 3]
D. Error
Solution
Step 1: Understand list item update
The code changes the item at index 1 (second item) from 2 to 5.
Step 2: Check the final list
After update, the list becomes [1, 5, 3]. The print statement outputs this list.
Final Answer:
[1, 5, 3] -> Option A
Quick Check:
Updated list = [1, 5, 3] [OK]
Hint: Index 1 means second item in list [OK]
Common Mistakes:
Thinking index 1 is first item
Expecting original list unchanged
Assuming code causes error
4. Find the error in this code that tries to change a list item:
C. Using parentheses instead of square brackets for indexing
D. print statement syntax error
Solution
Step 1: Identify indexing syntax error
The code uses parentheses () instead of square brackets [] to access list item.
Step 2: Confirm correct syntax
List items must be accessed with square brackets, so my_list[1] = 15 is correct.
Final Answer:
Using parentheses instead of square brackets for indexing -> Option C
Quick Check:
Use [] not () for list indexing [OK]
Hint: Remember: () calls functions, [] accesses list items [OK]
Common Mistakes:
Using () instead of [] for list indexing
Thinking lists are immutable
Looking for syntax errors elsewhere
5. Given the list data = [5, 10, 15, 20], which code snippet correctly doubles each item in the list using mutability?
hard
A. data = [item * 2 for item in data]
print(data)
B. for item in data:
item = item * 2
print(data)
C. data.map(lambda x: x*2)
print(data)
D. for i in range(len(data)):
data[i] = data[i] * 2
print(data)
Solution
Step 1: Understand mutability and iteration
To change items in place, we must assign new values to each index in the list.
Step 2: Analyze each option
for i in range(len(data)):
data[i] = data[i] * 2
print(data) updates each item by index, correctly doubling values in place. for item in data:
item = item * 2
print(data) changes only the loop variable, not the list. data = [item * 2 for item in data]
print(data) creates a new list and assigns it to data (not in-place mutation). data.map(lambda x: x*2)
print(data) uses map which returns an iterator and does not modify list in place.
Final Answer:
for i in range(len(data)):
data[i] = data[i] * 2
print(data) -> Option D
Quick Check:
In-place update requires index assignment [OK]
Hint: Use index to update list items for true mutability [OK]