所以我有两个列表和一个主列表。如果主列表中的元素存在于其他两个列表中,则应将其删除。你知道吗
示例:
s1 = [1,2,3,4,7]
s2 = [3,4,5,6,20]
mainlist = [6,7,8,9,10,11,12,13,14,15]
因此,由于mainList包含元素6和7,它们也存在于s1或s2中,所以应该删除它们,结果如下所示。你知道吗
resultList = [8,9,10,11,12,13,14,15]
我的代码:
for j in mainlist[:]:
if j in s1 or j in s2:
mainlist.remove(j)
有没有不用for循环的?我需要一个有效的方法来降低时间复杂度。谢谢您!你知道吗
也许您可以使用列表理解创建另一个列表
或者使用
filter() + lambda
或者使用
for
循环试试这个:
这里我假设没有一个列表有重复的元素。你知道吗
你可以用时间和其他方法来比较。你知道吗
由于这是一个小列表,因此改进是显著的。你知道吗
你可以使用列表理解,它可以很好地解决这类问题:
使用
list/set
操作可以执行以下操作之一相关问题 更多 >
编程相关推荐