📌  相关文章
📜  从两个列表中查找不同的值 python (1)

📅  最后修改于: 2023-12-03 15:06:33.368000             🧑  作者: Mango

从两个列表中查找不同的值 Python

在 Python 中,有多种方法可以查找两个列表之间的不同值。下面就是一些常用的方式。

方法一:使用差集

使用 Python 内置的 set 类型,可以求出两个列表的差集。

list1 = [1, 2, 3, 4, 5]
list2 = [2, 3, 4, 5, 6]

diff = set(list1) - set(list2)
print(diff) # output: {1}

本例中,我们先分别创建了两个列表 list1 和 list2。然后,我们创建了一个变量 diff,使用 set(list1) - set(list2) 求出两个列表之间的差集,并输出结果。

注意,这里的 diff 是一个 set 类型的变量,而不是列表。如果一定要转换为列表,可以使用 list(diff)。

方法二:使用循环

使用 while 或 for 循环,可以逐个比较两个列表中的元素,然后找到不同的元素。

list1 = [1, 2, 3, 4, 5]
list2 = [2, 3, 4, 5, 6]

diff = []

for i in list1:
    if i not in list2:
        diff.append(i)

print(diff) # output: [1]

在这个例子中,我们同样创建了两个列表 list1 和 list2。然后,我们创建了一个空列表 diff,用于存储找到的不同元素。

接着,我们使用 for 循环逐个遍历 list1 中的元素。在循环的每个迭代中,我们都检查该元素是否存在于 list2 中。如果存在,就继续迭代;如果不存在,就将该元素添加到 diff 列表中。

在所有迭代结束后,我们输出 diff 列表。

方法三:使用列表推导式

列表推导式可以让代码更加简洁。我们可以使用列表推导式来找到两个列表之间的不同元素。

list1 = [1, 2, 3, 4, 5]
list2 = [2, 3, 4, 5, 6]

diff = [i for i in list1 if i not in list2]
print(diff) # output: [1]

在这个例子中,我们同样创建了两个列表 list1 和 list2。然后,我们创建了一个变量 diff,使用列表推导式找到 list1 中存在而 list2 中不存在的元素。

在列表推导式中,我们用 for 循环遍历 list1 中的元素,并使用 if 条件判断语句过滤出与 list2 不同的元素。最后,我们将所有不同的元素组成的列表输出。

以上就是在 Python 中查找两个列表之间的不同元素的三种方法。如果想要了解更多 Python 的知识,可以查看我们的 Python 教程。