Python |两个列表之间的差异

有多种方法可以产生两个列表之间的差异。在本文中,我们将看到实现这一点的两种最重要的方法。一个是使用set()方法,另一个是不使用它。

null

例如:

Input :list1 = [10, 15, 20, 25, 30, 35, 40]list2 = [25, 40, 35] Output :[10, 20, 30, 15]Explanation:resultant list = list1 - list2          

注: 如果有多个相同的元素,那么这将不起作用。在这种情况下,此代码将简单地删除相同的元素。 在这种情况下,可以维护两个列表中每个元素的计数。

通过使用set():

在这种方法中,我们显式地将列表转换为集合,然后使用减法运算符简单地从一个列表中减去另一个列表。有关set的更多参考信息,请访问 Python中的集合 .

例子:

Python3

# Python code t get difference of two lists
# Using set()
def Diff(li1, li2):
return list ( set (li1) - set (li2)) + list ( set (li2) - set (li1))
# Driver Code
li1 = [ 10 , 15 , 20 , 25 , 30 , 35 , 40 ]
li2 = [ 25 , 40 , 35 ]
print (Diff(li1, li2))


输出:

[10, 20, 30, 15]

不使用set():

在这种方法中,我们使用基本的组合技术从两个列表中复制元素,并定期检查其中一个是否存在于另一个列表中。

例子:

Python3

# Python code t get difference of two lists
# Not using set()
def Diff(li1, li2):
li_dif = [i for i in li1 + li2 if i not in li1 or i not in li2]
return li_dif
# Driver Code
li1 = [ 10 , 15 , 20 , 25 , 30 , 35 , 40 ]
li2 = [ 25 , 40 , 35 ]
li3 = Diff(li1, li2)
print (li3)


输出:

[10, 20, 30, 15]
© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享