📜  Python|两个列表之间的区别(1)

📅  最后修改于: 2023-12-03 14:46:25.252000             🧑  作者: Mango

Python | 两个列表之间的区别

在Python中,比较两个列表之间的区别是一项常见的任务。我们可以使用不同的方法来比较两个列表之间的区别。

方法1:使用set()函数

我们可以将两个列表转换成集合(set),然后使用不同的集合函数来比较两个集合之间的区别。

下面是使用set()函数的示例代码:

# 两个列表之间的区别,使用set()函数
list1 = ['apple', 'banana', 'orange']
list2 = ['banana', 'orange', 'kiwi']

# 转换成集合
set1 = set(list1)
set2 = set(list2)

# 求交集
print(set1.intersection(set2))

# 求并集
print(set1.union(set2))

# 求差集
print(set1.difference(set2))

输出如下:

{'orange', 'banana'}
{'orange', 'banana', 'kiwi', 'apple'}
{'apple'}
方法2:使用列表推导式

我们可以使用列表推导式来比较两个列表之间的区别。

下面是使用列表推导式的示例代码:

# 两个列表之间的区别,使用列表推导式
list1 = [1, 2, 3, 4, 5]
list2 = [4, 5, 6, 7, 8]

# 求差集
diff = [x for x in list1 if x not in list2]
print(diff)

# 求交集
common = [x for x in list1 if x in list2]
print(common)

# 求并集
union = list(set(list1 + list2))
print(union)

输出如下:

[1, 2, 3]
[4, 5]
[1, 2, 3, 4, 5, 6, 7, 8]
方法3:使用filter()函数和lambda表达式

我们也可以使用filter()函数和lambda表达式来比较两个列表之间的区别。

下面是使用filter()函数和lambda表达式的示例代码:

# 两个列表之间的区别,使用filter()函数和lambda表达式
list1 = ['apple', 'banana', 'orange']
list2 = ['banana', 'orange', 'kiwi']

# 求差集
diff = list(filter(lambda x: x not in list2, list1))
print(diff)

# 求交集
common = list(filter(lambda x: x in list2, list1))
print(common)

# 求并集
union = list(set(list1 + list2))
print(union)

输出如下:

['apple']
['banana', 'orange']
['kiwi', 'banana', 'orange', 'apple']

以上就是比较两个列表之间的区别的三种方法,根据具体情况选择不同的方法即可。