Python 查找两个列表的不同元素

Python 查找两个列表的不同元素,python,Python,我有两个列表,l1和l2,我想比较一下l1和l2。那我想 查找彼此不同的列表元素。名单如下: l1= [('A', '2', '3', '4', '5', '6'), ('F', '2', '4', '2.2', '2.7', '3'), ('G', '5', '2.1', '3.4', '1.5', '2'),('H', 'L', 'L', 'D', 'C', 'B')] l2= [('A', '2', '3', '4', '5', '6'),('H', 'L', 'L', 'D', 'C'

我有两个列表,l1和l2,我想比较一下l1和l2。那我想 查找彼此不同的列表元素。名单如下:

l1= [('A', '2', '3', '4', '5', '6'), ('F', '2', '4', '2.2', '2.7', '3'), ('G', '5', '2.1', '3.4', '1.5', '2'),('H', 'L', 'L', 'D', 'C', 'B')]

l2= [('A', '2', '3', '4', '5', '6'),('H', 'L', 'L', 'D', 'C', 'B')]
我想要的输出是:

l3=[('F', '2', '4', '2.2', '2.7', '3'), ('G', '5', '2.1', '3.4', '1.5', '2')]

我该怎么做呢?

假设顺序无关紧要,您可以使用
set(l1)^set(l2)
这是您需要的代码:

output_list = []
if len(l1) < len(l2):
    shortest_list = l1
    other_list = l2
else:
    shortest_list = l2
    other_list = l1
for tup in other_list:
    if tup not in shortest_list:
        output_list.append(tup)
print output_list
output_list=[]
如果len(l1)
输出列表是l3

我希望它能帮助你


多尔

你尝试了什么?请包括您的尝试。此外,这个问题还不清楚。如果“A”元素在两个列表中,为什么它会出现在输出中?对不起。我组织了这个问题。我想比较列表l1和l2,然后我想将列表的不同元素分配给变量l3@DyZI。我试过了,但我得到了一个类似这样的错误:TypeError:unhabable type:'list'@alexhall您在问题中给出的格式的数据并没有这样做。听起来你有一个列表列表而不是元组列表。