1. sort() не возвращает новый список
Проблемно
numbers = [3, 1, 2]
numbers = numbers.sort()
print(numbers)Будет None, потому что sort() меняет список на месте.
Лучше
numbers = [3, 1, 2]
numbers.sort()
print(numbers)numbers = [3, 1, 2]
sorted_numbers = sorted(numbers)
print(sorted_numbers)2. Явная проверка перед remove()
Риск ValueError
fruits = ["apple", "banana"]
fruits.remove("orange")Без падения
fruits = ["apple", "banana"]
if "orange" in fruits:
fruits.remove("orange")
print(fruits)3. Цикл append() и генератор списка
В источнике решения строятся через пустой список и append(). Для начального уровня это лучший способ увидеть алгоритм.
strings = ["apple", "banana", "level", "radar", "grape"]
result = []
for string in strings:
if string[0] == string[-1]:
result.append(string)
print(result)
Проверить по документации: в современной практике для простой фильтрации часто используют list comprehension. Это короче, но его лучше вводить после уверенного владения обычным циклом.
strings = ["apple", "banana", "level", "radar", "grape"]
result = [string for string in strings if string[0] == string[-1]]
print(result)
4. append() против extend()
Не существует «старого» и «нового» варианта: это разные операции. append(["cherry"]) добавит вложенный список, а extend(["cherry"]) добавит строку как новый элемент. extend("cherry") добавит буквы отдельно, потому что строка итерируемая.