我有两个列表:
list1=['h', 'e', 'n', 'o', 'p']
list2=['e', 'h', 'c', 'n', 'p', 'o']
如果这两个列表对于一个元素完全不同,我希望函数diff1
返回true
在这种情况下,diff1
返回True
,因为list2
有一个'c'
我可以假设list2
总是比list1
多一个元素
感谢您提供的任何帮助
答案 0 :(得分:3)
您可以使用symmetric difference个集合:
symmetric_difference(其他)
设置^其他
返回带有元素的新集合 集合中的一个或另一个,但不能同时出现。
let i=0,j=0,unit1={};
let unit = JSON.parse(body);
let unit3=["val1","val2","val3","val4"]
let unit5=Object.values(unit);
for(let key in unit){
unit1[unit3[i++]]=unit5[j++];
}
var unit2 = JSON.stringify(unit1)
console.log('Sales is 1 million metric tonnes \n' + unit2);
//Sales is 1 million metric tonnes
//{"val1":"apple","val2":"bus","val3":"red","val4":"Name 1"}
您只需要检查此差异是否包含一项:
list1=['h', 'e', 'n', 'o', 'p']
list2=['e', 'h', 'c', 'n', 'p', 'o']
sym_diff = set(list1).symmetric_difference(list2)
print(sym_diff)
# {'c'}