Adding items

my_list = [1, 2, 3]

# Add to end:
my_list.append(4)  # [1, 2, 3, 4]

# Add multiple:
my_list.extend([5, 6])  # [1, 2, 3, 4, 5, 6]

# Insert at position:
my_list.insert(0, 0)  # [0, 1, 2, 3, 4, 5, 6]

Removing items

my_list = [1, 2, 3, 2, 4]

# Remove first occurrence:
my_list.remove(2)  # [1, 3, 2, 4]

# Remove by index:
my_list.pop(0)  # Returns 1, list is [3, 2, 4]
my_list.pop()   # Returns 4, list is [3, 2] (removes last)

# Clear all:
my_list.clear()  # []

Finding items

my_list = [10, 20, 30, 20]

# Find index:
index = my_list.index(20)  # 1 (first occurrence)

# Count occurrences:
count = my_list.count(20)  # 2

# Check membership:
if 30 in my_list:
    print("Found")

Sorting and reversing

my_list = [3, 1, 4, 1, 5]

# Sort in place:
my_list.sort()  # [1, 1, 3, 4, 5]

# Reverse:
my_list.reverse()  # [5, 4, 3, 1, 1]

# Get sorted copy (doesn't modify original):
new_list = sorted([3, 1, 4])  # [1, 3, 4]

Copying

original = [1, 2, 3]

# Shallow copy:
copy1 = original.copy()  # or list(original) or original[:]
copy1[0] = 99
print(original)  # [1, 2, 3] — unchanged