您可以使用条件列表理解:
>>> [i for i, item in enumerate(list_1) if item not in list_2] [1, 4]
此解决方案的时间复杂度为O(n*m)
。对于较大的列表,将其转换list_2
为是有意义的,set
因为在中搜索要快得多set
。以下解决方案是O(n)
:
>>> set_2 = set(list_2) >>> [i for i, item in enumerate(list_1) if item not in set_2] [1, 4]