«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как вычитать списки в Python?

Как вычитать списки в Python?

Опубликовано 6 ноября 2024 г.
Просматривать:130

How to Subtract Lists in Python?

Вычитание списков: вычисление разницы

Списки в 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
Заявление о выпуске Эта статья перепечатана по адресу: 1729655176. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3