Вычитание списков: вычисление разницы
Списки в Python могут содержать различные элементы. Для выполнения математических операций со списками, таких как вычитание, мы используем определенные методы или приемы. Давайте рассмотрим, как вычесть один список из другого.
Использование функции List Comprehension для поэлементного вычитания
Один подход заключается в использовании функции List Comprehension для поэлементного вычитания. первый список и вычисляет разницу, сохраняя исходный порядок:
[item for item in x if item not in y]
Вычитание наборов для более быстрых вычислений
Если сохранение порядка элементов не имеет решающего значения, подход на основе множеств обеспечивает более быстрые вычисления:
list(set(x) - set(y))
Переопределение sub для вычитаний списков
Чтобы включить вычитание списков с помощью инфиксного оператора «-», мы можем переопределить метод __sub__ класса, наследующего от списка:
class MyList(list): def __init__(self, *args): super(MyList, self).__init__(args) def __sub__(self, other): return self.__class__(*[item for item in self if item not in other])
Пример использования:
x = MyList(1, 2, 3, 4) y = MyList(2, 5, 2) z = x - y # z becomes a MyList object containing the difference
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3