示例:如果a = [1,2]且b = [1],则输出为2,因为它在两个列表中是唯一的
假设只有一个这样的数字。
唯一编号可以在两个列表中的任何一个中。
def find_me(x, y):
for element in x:
if element not in y:
return element
for element in y:
if element not in x:
return element
first_list = [14, 27, 1, 4, 2, 50, 3, 1]
second_list = [2, 4, -4, 3, 1, 1, 14, 27, 50]
print find_me(first_list,second_list)
#output : -4
我通过此代码获得了预期的结果。
我想知道这是否可以进一步优化。
答案 0 :(得分:0)
使用list.count()
功能:
first_list = [14, 27, 1, 4, 2, 50, 3, 1]
second_list = [2, 4, -4, 3, 1, 1, 14, 27, 50]
merged = first_list + second_list
unique_item = [i for i in merged if merged.count(i) == 1]
print(unique_item) # [-4]
或使用设置对象:
unique_item = set(first_list) ^ set(second_list)
print(unique_item) # {-4}