有多种方法可以产生两个列表之间的差异。在本文中,我们将看到实现这一点的两种最重要的方法。一个是使用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