Pra*_*eep 3 python django list
尝试使用下面的代码获取两个列表之间的差异的结果,但似乎不起作用。
list1 = ['one', 'two', 'three']
list2 = ['one', 'two', 'three', 'four']
list3 = list(set(list1) - set(list2))
if not list3: #if not empty, print list3
print(list3)
else: # if empty print none
print("None")
Run Code Online (Sandbox Code Playgroud)
在您的代码示例中,list3
确实为空,因为其中的所有元素list1
也都在其中list2
。
如果要查找包含in中的元素以及list1
in中list2
的元素list2
和not中的元素的列表,list1
则应在此处使用对称的集差,这可以通过操作^
符来执行,例如:
list1 = ['one', 'two', 'three']
list2 = ['one', 'two', 'three', 'four']
list3 = list(set(list1) ^ set(list2))
Run Code Online (Sandbox Code Playgroud)
另一方面,如果要查找list2
不在中的元素list1
,则应交换操作数:
list1 = ['one', 'two', 'three']
list2 = ['one', 'two', 'three', 'four']
list3 = list(set(list2) - set(list1))
Run Code Online (Sandbox Code Playgroud)
如果使用,则-
可以按照以下方法获得集合差异 [wiki](或补充):
A∖B = {a∈A | a∉B}
而对称集差 [wiki](或析取并集)为:
A⊕B =(A∖B)∪(B∖A)
注意:请注意,非空列表的真实性为,空列表的真实性
True
为False
。因此,您可能应该将打印逻辑重写为:Run Code Online (Sandbox Code Playgroud)if list3: # not empty print(list3) else: # is empty print("None")
归档时间: |
|
查看次数: |
75 次 |
最近记录: |