应该看起来像这样:
if items in both lists (equal/ larger/smaller):
do something
else:
if items in both lists (equal/ larger/smaller):
do something
else:
do something
答案 0 :(得分:1)
好吧,目前还不清楚,但看来这就是您想要的:
list3 = [i for i in list2 if i not in list1]
现在:
print(list3)
是:
[4]
如果您关心一个元素列表,请执行以下操作:
print(next(iter(list3),list3))
然后输出:
4
例如,如果list3
是一个包含1个以上元素的列表,则:
[1,2]
这仍然会输出:
[1,2]
或使用^
运算符设置集合(第二部分用于切出列表的前半部分):
list3 = list(set(list2)^set(list1))
list3=list3[len(list3)//2:]
现在:
print(list3)
是:
[4]
然后也可以将next
的内容用于list3
或者可以执行symmetric_difference
:
list3 = set.symmetric_difference(set(list1),set(list2))
list3=list(list3)[len(list3)//2:]
现在:
print(list3)
是:
[4]
可以为next
做同样的事情
并且您希望进行一次循环:
l=[i for i in list2 if i not in list1]
it=iter(l)
while l!=list3:
list3.append(next(it))
执行此操作的一种伪方法...
现在:
print(list3)
是:
[4]
并且可以做同样的next
事情
甚至更好:
num = 0
while num < len(list2):
if list2[num] != list1[num]:
list3.append(list2[num])
num += 1
现在:
print(list3)
是:
[4]
并且可以做同样的next
事情