如何比较list.Python中的字符串值列表
如何比较列表中的字符串如何比较list.Python中的字符串值列表,python,Python,如何比较列表中的字符串 a = [['abc','Hello World'],['bcd','Hello Python']] b = [['abc','Hello World'],['bcd','Hello World'],['abc','Python World']] 我想比较两个列表中的每个值。 首先,我希望结果是b中的值,而不是a中的值: [['bcd','Hello World'],['abc','Python World']] 另一个是a中的值,但不是b中的值: ['bcd','H
a = [['abc','Hello World'],['bcd','Hello Python']]
b = [['abc','Hello World'],['bcd','Hello World'],['abc','Python World']]
我想比较两个列表中的每个值。
首先,我希望结果是b中的值,而不是a中的值:
[['bcd','Hello World'],['abc','Python World']]
另一个是a中的值,但不是b中的值:
['bcd','Hello Python']
如果您希望有一个快速的解决方案,而不太关心性能,您可以使用
b_not_in_a = [i for i in b if i not in a]
a_not_in_b = [i for i in a if i not in b]
这是我的工作
将列表列表转换为元组集合不能有列表集合,因为集合只能包含对象,而列表作为所有内置可变对象都不能包含
a = set(map(tuple, [['abc','Hello World'],['bcd','Hello Python']]))
b = set(map(tuple, [['abc','Hello World'],['bcd','Hello World'],['abc','Python World']]))
或者直接将它们创建为元组集:
a = {('abc','Hello World'),('bcd','Hello Python')}
b = {('abc','Hello World'),('bcd','Hello World'),('abc','Python World')}
然后,您可以轻松高效地获得您的差异:
print(b - a)
# {('abc', 'Python World'), ('bcd', 'Hello World')}
print(a - b)
# {('bcd', 'Hello Python')}
甚至是十字路口
print(a & b)
# {('abc', 'Hello World')}
或工会:
print(a | b)
# {('abc', 'Python World'), ('bcd', 'Hello World'), ('abc', 'Hello World'), ('bcd', 'Hello Python')}
将列表列表转换为元组集,这样就完成了一半。我需要特定的帮助…第一次编码..可能重复