列表相减:计算差异
Python 中的列表可以包含各种元素。为了对列表执行数学运算(例如减法),我们采用特定的方法或技术。让我们探索如何从一个列表中减去另一个列表。
使用列表理解进行逐元素减法
一种方法是利用列表理解,它会迭代第一个列表并计算差异,同时保留原始顺序:
[item for item in x if item not in y]
减去集合以加快计算速度
如果保持元素的顺序并不重要,则基于集合的方法提供更快的计算:
list(set(x) - set(y))
覆盖 sub 进行列表减法
使用中缀“-”启用列表减法运算符,我们可以重写继承自 list 的类的 __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
以上是如何在Python中对列表进行减法?的详细内容。更多信息请关注PHP中文网其他相关文章!