前面讲到两个数组,找出两个数组都存在的元素,既然有相同的元素,也就有不同的元素;
题目:
给定两个列表,找出不同的元素?
思路分析:
如果说按照一开始的思路,先循环遍历一个列表,然后再判断是否不在另一个列表中,那肯定是不行的,因为这样只能找出一个列表不同的元素,我们的要求是找出两个列表中不同的元素;这样就必须要先合并两个列表才行;
1、合并两个数组
2、遍历这个已经完成合并的数组
3、找出两个列表相同的元素,再将这个相同元素给剔除出去;
4、然后再进行去重
def different_str(alist, blist):
res = [L for L in (alist + blist) if L not in [x for x in alist if x in blist]]
return list(set(res))
a = [1,1,2,3,3,6,'a']
b = [1,'a','b']
print(different_str(a, b))