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