script_1.py - Basic List Operations - CRUD
Code
#!/usr/bin/env python3
"""Basic List Operations - CRUD
Summary: Demonstrates Create, Read, Update, Delete operations on lists.
Use when: You need to manage a collection of items that can change over time.
Common in: Shopping carts, todo lists, user management systems.
"""
# CREATE - Initialize a list
tasks = ["Write code", "Test code", "Deploy code"]
print("Initial tasks:", tasks)
# READ - Access elements
print(f"\nFirst task: {tasks[0]}")
print(f"Last task: {tasks[-1]}")
print(f"Total tasks: {len(tasks)}")
# UPDATE - Modify existing element
tasks[1] = "Write tests and test code"
print(f"\nUpdated tasks: {tasks}")
# DELETE - Remove element
removed = tasks.pop(0)
print(f"\nCompleted: {removed}")
print(f"Remaining: {tasks}")
# ADD - Append new element
tasks.append("Monitor production")
print(f"Added new task: {tasks}")
Explanation
Line 10: tasks = ["Write code", "Test code", "Deploy code"]
- [] creates a list (mutable sequence type)
- List contains string elements
- tasks variable is type list
- Lists are ordered (maintain insertion order)
Line 13: print(f"\nFirst task: {tasks[0]}")
- [0] is index notation (bracket syntax for accessing elements)
- Index 0 is first element (zero-based indexing)
- Returns string type (the element at that position)
Line 14: print(f"Last task: {tasks[-1]}")
- Negative index counts from end
- -1 is last element, -2 is second-to-last, etc.
- Alternative to tasks[len(tasks) - 1]
Line 15: print(f"Total tasks: {len(tasks)}")
- len() is built-in function returning integer (number of elements)
Line 18: tasks[1] = "Write tests and test code"
- Assignment to index updates element in place
- Lists are mutable (can modify after creation)
- Index 1 is second element
- Original value is replaced (not inserted)
Line 22: removed = tasks.pop(0)
- .pop() is list method that removes and returns element
- Argument 0 specifies index to remove
- Modifies list in place (removes element)
- Returns the removed element (string type)
- List length decreases by 1
Line 27: tasks.append("Monitor production")
- .append() adds element to end of list
- Mutates list (modifies in place)
- List length increases by 1
- No return value (returns None)