📖 Scenario: You are managing a list of daily tasks. Sometimes, you need to remove the task that is exactly in the middle of your list to keep your schedule balanced.
🎯 Goal: Build a program that creates a list of tasks, finds the middle task, removes it, and then shows the updated list.
📋 What You'll Learn
Create a list called tasks with these exact strings: 'Email', 'Meeting', 'Coding', 'Review', 'Lunch'
Create a variable called middle_index that holds the middle index of the tasks list
Remove the task at middle_index from the tasks list
Print the updated tasks list
💡 Why This Matters
🌍 Real World
Managing daily tasks or schedules often requires removing or updating items in the middle to keep balance.
💼 Career
Understanding list operations like finding indexes and deleting items is essential for data manipulation in many programming jobs.
Progress0 / 4 steps
1
Create the list of tasks
Create a list called tasks with these exact strings in order: 'Email', 'Meeting', 'Coding', 'Review', 'Lunch'
DSA Python
Hint
Use square brackets [] to create a list and separate items with commas.
2
Find the middle index
Create a variable called middle_index that holds the middle index of the tasks list using integer division
DSA Python
Hint
Use len(tasks) to get the number of tasks and // for integer division.
3
Remove the middle task
Remove the task at middle_index from the tasks list using the del statement
DSA Python
Hint
Use del tasks[middle_index] to remove the item at the middle index.
4
Print the updated list
Print the updated tasks list using print(tasks)
DSA Python
Hint
Use print(tasks) to show the list after removal.
Practice
(1/5)
1. What happens when you delete the middle element from an array with an odd number of elements?
easy
A. The element at the exact middle index is removed, and the array size decreases by one.
B. The first element is removed instead of the middle one.
C. The array size remains the same but the middle element is set to zero.
D. The last element is removed instead of the middle one.
Solution
Step 1: Identify the middle index in an odd-length array
For an array with odd length n, the middle index is n//2 (integer division).
Step 2: Remove the element at the middle index
Deleting the element at this index reduces the array size by one and shifts elements after it left.
Final Answer:
The element at the exact middle index is removed, and the array size decreases by one. -> Option A
Quick Check:
Middle element removed = The element at the exact middle index is removed, and the array size decreases by one. [OK]
Hint: Middle index = length // 2 for odd arrays [OK]
Common Mistakes:
Removing first or last element instead of middle
Not reducing array size after deletion
Confusing middle index calculation
2. Which of the following Python statements correctly deletes the middle element from a list named arr with odd length?
easy
A. arr.pop(len(arr))
B. del arr[len(arr)//2]
C. arr.remove(len(arr)//2)
D. arr.delete(len(arr)//2)
Solution
Step 1: Understand Python deletion syntax
The del statement removes an element at a specific index from a list.
Step 2: Calculate middle index and delete
Using len(arr)//2 gives the middle index for odd length. So del arr[len(arr)//2] deletes the middle element correctly.
Final Answer:
del arr[len(arr)//2] -> Option B
Quick Check:
Correct syntax for deletion = del arr[len(arr)//2] [OK]
Hint: Use del with index: del arr[len(arr)//2] [OK]
Common Mistakes:
Using remove() which deletes by value, not index
Using pop() with wrong index
Using non-existent delete() method
3. What is the output of the following code?
arr = [10, 20, 30, 40, 50]
del arr[len(arr)//2]
print(arr)
medium
A. [10, 30, 40, 50]
B. [10, 20, 30, 40]
C. [20, 30, 40, 50]
D. [10, 20, 40, 50]
Solution
Step 1: Calculate middle index
Length of arr is 5, so middle index = 5 // 2 = 2.
Step 2: Delete element at index 2 and print
Element at index 2 is 30. After deletion, arr becomes [10, 20, 40, 50].
A. It deletes the last element instead of the middle one.
B. It causes an IndexError because remove expects an index.
C. It deletes the element with value 2 instead of the middle index element.
D. There is no error; it deletes the middle element correctly.
Solution
Step 1: Understand remove() method behavior
remove(x) deletes the first element with value x, not at index x.
Step 2: Analyze the argument passed to remove()
len(arr)//2 = 5//2 = 2, so arr.remove(2) deletes element with value 2, not element at index 2.
Final Answer:
It deletes the element with value 2 instead of the middle index element. -> Option C
Quick Check:
remove deletes by value, not index = It deletes the element with value 2 instead of the middle index element. [OK]
Hint: remove() deletes by value, del deletes by index [OK]
Common Mistakes:
Confusing remove() with del or pop()
Expecting remove() to delete by index
Not calculating middle index correctly
5. Given an array arr = [5, 10, 15, 20, 25, 30] with even length, which code correctly deletes the middle element(s) so that after deletion the array is [5, 10, 25, 30]?
hard
A. del arr[len(arr)//2 - 1]; del arr[len(arr)//2]
B. del arr[len(arr)//2]; del arr[len(arr)//2 - 1]
C. arr.pop(len(arr)//2); arr.pop(len(arr)//2 - 1)
D. arr.remove(len(arr)//2); arr.remove(len(arr)//2 - 1)
Solution
Step 1: Identify middle indices for even length array
Length is 6, middle indices are 2 and 3 (0-based), values 15 and 20.
Step 2: Delete elements at indices 2 and 3 accounting for length change
del arr[len(arr)//2 - 1] deletes index 2 (15), array becomes [5, 10, 20, 25, 30]. Then del arr[len(arr)//2] deletes new index 2 (20), resulting in [5, 10, 25, 30].
Final Answer:
del arr[len(arr)//2 - 1]; del arr[len(arr)//2] -> Option A
Quick Check:
del arr[2] then del arr[2] (after shift) = [5, 10, 25, 30] [OK]
Hint: For even length, delete lower middle index first then the new middle index [OK]
Common Mistakes:
Deleting higher index first without adjusting for length change
Using pop() in wrong order causing incorrect shifts
Using remove() which deletes by value
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.