Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何比较list.Python中的字符串值列表_Python - Fatal编程技术网

如何比较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')}

将列表列表转换为元组集,这样就完成了一半。我需要特定的帮助…第一次编码..可能重复