检查元素的两个列表是否不同

时间:2019-12-21 18:04:48

标签: python list

我有两个列表:

list1=['h', 'e', 'n', 'o', 'p']
list2=['e', 'h', 'c', 'n', 'p', 'o']

如果这两个列表对于一个元素完全不同,我希望函数diff1返回true

在这种情况下,diff1返回True,因为list2有一个'c'

我可以假设list2总是比list1多一个元素

感谢您提供的任何帮助

1 个答案:

答案 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'}