我有两个非唯一的值列表,例如
["a", "b", "a", "c"]
和
["a", "b", "b", "f"]
我想找到第一个列表中哪些元素没有出现在第一个列表中。
我可以手动编写代码,但更喜欢使用内置函数。我无法弄清楚是怎么回事,因为我一直碰到可以/不可用的屏障。
答案 0 :(得分:8)
在这种情况下,它将是
set(second_list) - set(first_list)
因为字符串是可以清除的,所以你可以把它们放在一起。如果您有不可排除的值,那么告诉我们它们是什么,我们可能会想出一个解决方法。例如:
tuple(the_list)
将列表转换为元组,可以使用list(the_tuple)
返回。tuple(the_set)
将集转换为元组,可以使用set(the_tuple)
返回。tuple(map(tuple, the_list))
将嵌套列表转换为嵌套元组,然后使用list(map(list, the_tuple))
返回。tuple(the_dict.items())
将字典转换为嵌套元组,然后使用dict(the_tuple)
返回。答案 1 :(得分:1)
[如果x不在ListB中,则x为ListB中的x]
我认为这是一种非常快捷的方法。