我想使用列表理解從列表中刪除一些項目,只保留那些未指定的項目。使用列表理解保持不在第二個列表中的項目
例如,如果我有2所列出a = [1,3,5,7,10]
和b = [2,4]
我想保持從a
不在對應於若干b
指數的所有項目。
現在,我試圖使用y = [a[x] for x not in b]
但這會產生一個SyntaxError。
y = [a[x] for x in b]
工作正常,並保持我想要刪除的元素。
那麼我該如何實現呢?並在一個側面說明,這是一個好辦法,或者我應該使用del
?
你說這個? '[x for i,x in enumerate(a)if I not in b]' – khelwood
and yes,it is,and no,you not not;) – georg
'in'是list comprehension語法的一部分,而不是'在'運算符中,所以不能簡單地用'不在'中替換。 – chepner