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

Barbara Streisand
发布: 2024-10-23 11:53:01
原创
493 人浏览过

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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!