首页  >  文章  >  后端开发  >  Python 中计算列表差异的方法有哪些?

Python 中计算列表差异的方法有哪些?

Barbara Streisand
Barbara Streisand原创
2024-10-23 11:53:01493浏览

What are the Methods to Compute List Differences in Python?

如何计算列表差异

要确定两个列表 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn