Замена списка Python условной логической логикой
При наличии списка значений вы можете захотеть выборочно заменить определенные элементы на None на основе состояние. Условие, определенное функциейcondition(), может определить, заменять ли элемент на основе его значения. В этом вопросе рассматриваются различные способы реализации этой замены в Python, а также приводится пример условия, которое заменяет элементы с нечетными номерами.
Решение 1. Понимание списков
Самый эффективный способ чтобы выполнить эту замену, нужно использовать понимание списка. Этот подход создает новый список, сохраняя исходный порядок при замене совпадающих элементов:
new_items = [x if x % 2 else None for x in items]
В этом примере элементы, делящиеся на 2 (четные числа), сохраняются, а нечетные числа заменяются на None.
Решение 2. Изменение на месте
В качестве альтернативы вы можете изменить исходный список напрямую. Однако этот подход немного менее эффективен:
for index, item in enumerate(items):
if not (item % 2):
items[index] = None
Этот метод перебирает список и заменяет элементы с нечетными номерами на None на месте.
Анализ временной сложности
Оба решения имеют линейную временную сложность O(n), что указывает на то, что время их выполнения увеличивается пропорционально количеству элементов в списке.
Бенчмарки производительности
Производительность тесты показывают незначительные различия между двумя решениями. Однако для больших списков понимание списка происходит немного быстрее.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3