Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.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
Python查找一个列表中不在另一个列表中的元素的索引_Python_List - Fatal编程技术网

Python查找一个列表中不在另一个列表中的元素的索引

Python查找一个列表中不在另一个列表中的元素的索引,python,list,Python,List,我想要list_1中不在list_2中的元素的索引。我希望在这里 list_1 = ["a", "b", "c", "d", "e"] list_2 = ["a", "c", "d"] 在我的例子中,list_2是list_1的子集,所有元素都是唯一的。有没有更好的方法不使用显式循环来执行此操作?您可以使用条件列表: [1, 4] 此解决方案的时间复杂度为O(n*m)。对于较大的列表,将list_2转换为集合是有意义的,因为在集合中搜索要快得多。以下解决方案是O(n): 回答得很好。短,对

我想要
list_1
中不在
list_2
中的元素的索引。我希望在这里

list_1 = ["a", "b", "c", "d", "e"]
list_2 = ["a", "c", "d"] 

在我的例子中,
list_2
list_1
的子集,所有元素都是唯一的。有没有更好的方法不使用显式循环来执行此操作?

您可以使用条件列表:

[1, 4]
此解决方案的时间复杂度为
O(n*m)
。对于较大的列表,将
list_2
转换为
集合
是有意义的,因为在
集合
中搜索要快得多。以下解决方案是
O(n)


回答得很好。短,对,包括O复杂度。我很满意
>>> [i for i, item in enumerate(list_1) if item not in list_2]
[1, 4]
>>> set_2 = set(list_2)
>>> [i for i, item in enumerate(list_1) if item not in set_2]
[1, 4]