已知:list1 = [1, 2, 3, 4, 5]

           list2 = [1, 4, 5] 

要求两个列表中不相同的元素

方法一:

         list3 = list(set(list1) – set(list2))
          
          set操作会将一个list转换成一个集合。
          假设:list_t = [1, 2, 3, 1]
          那么:list(set(list_t)) = [1, 2, 3]
          重复的项就会被删除。

 

由于列表没有减法,所以可以使用set 集合中转一下,这样就可以实现功能啦。

 

方法二:

使用列表推导式对列表进行遍历,并用in 方法进行判断

list_diff = [data for data in list1 if data not in list2]
[1, 2, 3]  在列表1但不在列表2中的元素
list_diff = [data for data in list2 if data not in list1]
[6, 7, 8]  在列表2但不在列表1中的元素

 

如果要求两个列表的交集的话,可以这样写:

list_same = [data for data in list1 if data in list2]

 

当然也可以用set 直接去交集:

list_same =list(set(list1)&set(list2))

 

这样是不是看起来又直观又简单呢,今天就到这里啦~