如何计算列表差异
要确定两个列表 x 和 y 之间的差异,Python 中有多种方法可用。
使用列表推导式
要保留 x 中元素的顺序,可以使用列表推导式:
<code class="python">[item for item in x if item not in y]</code>
此表达式创建一个新的列表,仅包括 x 中不存在于 y 中的元素。
使用集合差异
如果排序不重要,可以使用集合差异:
<code class="python">list(set(x) - set(y))</code>
此方法将 x 和 y 转换为集合,计算差异,然后将结果转换回列表。
重写类方法
要启用中缀减法语法(例如,x - y),您可以重写继承自 list 的类中的 sub 方法:
<code class="python">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 # Infix subtraction syntax</code>
在此场景中, z将仅包含 x 中不在 y 中的元素。
以上是Python 中计算列表差异的方法有哪些?的详细内容。更多信息请关注PHP中文网其他相关文章!