已知: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))
这样是不是看起来又直观又简单呢,今天就到这里啦~