Python 列表减法(差集)

目录

差集:对于给定的两个集合,返回一个包含所有存在于第一个集合且不存在于第二个集合的元素的新集合。

例如有名单 A,黑名单 B,要从名单A中剔除掉黑名单成员。

Python 内置的集合 set 数据类型有减法操作,可以通过其来实现。

  1. 先用 set() 将列表转换为集合
  2. 再用 list() 将集合相减结果转换为列表
    ⚠️注意,此方法会清除掉重复项。

举例:

a = [1, 2, 3, 4, 5]
b = [2, 5, 6]

# 1,先将列表转换为集合,用集合的减法
c = set(a) - set(b)
print(c)  # {1, 3, 4}

# 2,再将集合转换为列表
print(list(c))  # [1, 3, 4]