假设我有两个列表listBig
和listSmall
,我想从listBig
中删除listSmall
的所有元素。假设listSmall
的所有元素都存在于listBig
中,并且如果listBig
中有一个listSmall
元素的多个实例,则它们不能被删除,这意味着删除一个是关键。你知道吗
有没有比以下更好的方法来实现这一点:
listBig = [1,2,3,4,5,6,7,8,4,7]
listSmall = [4,7]
deleted = 0
inner = 0
for outer in range(0,len(listSmall)):
while not deleted == len(listSmall):
if listSmall[outer]==listBig[inner]:
listBig.remove(listBig[inner])
inner=0
deleted+=1
break
inner+=1
print listBig
OUTPUT: [1, 2, 3, 5, 6, 8, 4, 7]
尝试:
如果你不想删除复制品,列表.删除(x) 只删除它在列表中找到的第一个元素。你知道吗
我会将您的
listSmall
转换为set
(为了更快地查找成员),然后您可以使用一个简单的列表理解相关问题 更多 >
编程相关推荐