Python |两个列表的区别
原文:https://www.geeksforgeeks.org/python-difference-two-lists/
有多种方法可以生成两个列表之间的差异。在本文中,我们将看到实现这一点的两种最重要的方法。一种是使用 set()方法,另一种是不使用它。
示例:
Input :
list1 = [10, 15, 20, 25, 30, 35, 40]
list2 = [25, 40, 35]
Output :
[10, 20, 30, 15]
Explanation:
resultant list = list1 - list2
注意:当你有多个相同的元素时,这将不起作用。在这种情况下,这段代码将简单地移除相同的元素。 在这种情况下,您可以维护两个列表中每个元素的计数。
通过使用 set():
在这种方法中,我们显式地将列表转换成集合,然后使用减法运算符简单地从一个集合中减去另一个集合。关于器械包的更多参考,请访问 Python 中的器械包。
示例:
Python 3
# 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():
在这个方法中,我们使用基本的组合技术从两个列表中复制元素,并定期检查一个是否存在于另一个中。
示例:
Python 3
# 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]
版权属于:月萌API www.moonapi.com,转载请注明出处