前言
众所周知,当想要用python比较两个列表元素中的差集的时候,或许有很多人会想到用for循环进行遍历,再结合append函数,找出它们之间的差集。不可否认,这种方法确实可以做到,但是在一个列表元素的数据量大的时候,用for循环进行遍历操作,效率上会大打折扣。
那对于列表元素存在大量数据的时候,要怎么做?才能快速的拿到两个列表元素的差集呢?
下面跟着小编,直接进入本文的正题
差集 —— difference方法
假设有下面两个列表
a = [(2, 'aa', 'dsad'), (3, 'cc', 'dada'), (0, 'ss', 'okok')]
b = [(2, 'aa', 'dsad')]
data = set(a).difference(set(b))
print(type(data))
print(data)
print('---------')
data2 = list(data)
print(type(data2))
print(data2)
并集 —— union方法
同样,以刚才的例子为例
a = [(2, 'aa', 'dsad'), (3, 'cc', 'dada'), (0, 'ss', 'okok')]
b = [(2, 'aa', 'dsad')]
data = set(a).union(set(b))
print(type(data))
print(data)
print('---------')
data2 = list(data)
print(type(data2))
print(data2)
交集 —— intersection方法
a = [(2, 'aa', 'dsad'), (3, 'cc', 'dada'), (0, 'ss', 'okok')]
b = [(2, 'aa', 'dsad')]
data = set(a).intersection(set(b))
print(type(data))
print(data)
print('---------')
data2 = list(data)
print(type(data2))
print(data2)
总的来说,当列表中有很多数据量的时候,使用此方法会比for循环遍历,节约大把时间。
如果喜欢本文或者本文对你有帮助的话,记得关注小编并点个赞哟,欢迎留言私信。
Python|(解决) selenium.common.exceptions.WebDriverException: Message: ‘chromedriver‘ executable needs