假設我有兩個等長列表,list1
和list2
,都包含一堆數字。我想刪除所有不符合特定標準的list1
元素。夠簡單。我怎樣才能從list2
中刪除相應的元素?如果我刪除,例如list1
的第5個元素,我還想刪除list2
的第5個元素。什麼我想下面做例子:在兩個列表上的列表理解
list1 = [i for i in list1 if i >= 1]
list2 = list2 #but with the corresponding values of list1 removed from list2 as well
我能想出,說,
list2_temp = []
for j in range(len(list1)):
if list1[j] >= 1:
list2_temp.extend(list2[j])
list1 = [i for i in list1 if i >= 1]
,但我正在尋找一個更「Python化」的方式來做到這一點,特別是如果有什麼方法可以使用list2
以及list1
的列表解析。任何想法/建議?
如果對於謂詞中的每個'x's都是'False' .....'ValueError:需要超過0個值才能解包'......我該如何解決這個問題? –
推遲分配,直到您可以檢查是否有任何結果,然後使用'del list1 [:],list2 [:]'如果沒有任何結果。 –