我正在尝试创建一个函数,该函数接受两个列表比较它们并返回一个列表,该列表显示第一个列表与另一个列表的不同之处。一些示例如下:
示例 1:
list1: [1, 2, 3]
list2: [1, 3]
desired result: [0, 1, 0]
示例 2
list1: [1, 3, 1, 2, 4]
list2: [1, 1, 4]
desired result: [0, 1, 0, 1, 0]
示例 3
list1: [3, 5, 2, 9, 9]
list2: [3, 5, 9, 9]
desired result: [0, 0, 1, 0, 0]
示例 4
list1: [1, 1, 1]
list2: [1]
desired result: [0, 1, 1]
例 5
list1: [1, 2, 2, 1]
list2: [1, 2, 1]
desired result: [0, 0, 1, 0]
一些事实:
list1
总是大于或等于 list2
desired list
有长度 list1
我很抱歉我没有提供任何答案,但我想不出任何方法来实现这一点。任何指导/提示?
这是我的尝试:
def compute_difference(list1, list2):
result = []
iter1 = iter(list1)
for item2 in list2:
for item1 in iter1:
if item2 == item1:
result.append(0)
break
else:
result.append(1)
for item1 in iter1:
result.append(1)
return result
assert compute_difference([1,2,3],[1,3]) == [0, 1, 0]
assert compute_difference([1, 3, 1, 2, 4], [1, 1, 4]) == [0, 1, 0, 1, 0]
assert compute_difference([3, 5, 2, 9, 9], [3, 5, 9, 9]) == [0, 0, 1, 0, 0]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句