💻 Примеры кода

⚡ Кратко

Запускайте примеры отдельными файлами.

Меняйте входные данные после первого успешного запуска.

Смотрите не только на вывод, но и на то, изменился ли исходный объект.

Топ-3 ошибки: путать ссылку и копию; ожидать порядок там, где его нет; усложнять выражение, когда обычный цикл читается лучше.

Проверка общей ссылки

items = ["Bread", "Milk"]
same_items = items
same_items.append("Eggs")
print(items)
print(id(items) == id(same_items))

Безопасная фильтрация копии

import copy

nested_list = [[10, 15, 20], [5, 25, 30], [35, 40, 80]]
filtered = copy.deepcopy(nested_list)

for row in filtered:
    average = sum(row) / len(row)
    row[:] = [value for value in row if value >= average]

print("Исходный список:", nested_list)
print("Глубокая копия после изменений:", filtered)

Удаление с конца при изменении списка

numbers = [2, 5, 1, 8, 3]
for index in range(len(numbers) - 1, -1, -1):
    if numbers[index] < 4:
        del numbers[index]
print(numbers)