我需要比较两个列表,以便创建在一个列表中找到但在另一个列表中找不到的特定元素的新列表。例如:
main_list=[]
list_1=["a", "b", "c", "d", "e"]
list_2=["a", "f", "c", "m"]
我想遍历list_1,并将list_2中在list_1中找不到的所有元素附加到main_list中。
结果应该是:
main_list=["f", "m"]
我怎么用python做到这一点呢?
发布于 2016-12-14 00:27:48
您可以使用集合:
main_list = list(set(list_2) - set(list_1))
输出:
>>> list_1=["a", "b", "c", "d", "e"]
>>> list_2=["a", "f", "c", "m"]
>>> set(list_2) - set(list_1)
set(['m', 'f'])
>>> list(set(list_2) - set(list_1))
['m', 'f']
根据@JonClements的评论,这里是一个更整洁的版本:
>>> list_1=["a", "b", "c", "d", "e"]
>>> list_2=["a", "f", "c", "m"]
>>> list(set(list_2).difference(list_1))
['m', 'f']
发布于 2017-07-10 22:49:27
不确定为什么当你有原生方法时,上面的解释会如此复杂:
main_list = list(set(list_2)-set(list_1))
发布于 2016-12-14 00:31:17
main_list=[]
list_1=["a", "b", "c", "d", "e"]
list_2=["a", "f", "c", "m"]
for i in list_2:
if i not in list_1:
main_list.append(i)
print(main_list)
输出:
['f', 'm']
https://stackoverflow.com/questions/41125909
复制相似问题