我有三個列表:過濾兩份名單同時
del_ids = [2, 4]
ids = [3, 2, 4, 1]
other = ['a', 'b', 'c', 'd']
,我的目標是消除del_ids
,結果是
ids = [3, 1]
other = ['a', 'd']
我試圖做一個面具元素,以保持(mask = [id not in del_ids for id in ids]
),我打算在這兩個列表上應用此掩碼。
但我覺得這不是一個pythonic解決方案。你能告訴我怎樣才能做得更好嗎?
感謝您的回答,您可以告訴我的明星是什麼,在這種情況呢?這種形式的理解對我來說是新的。 :O –
@BarnabasSzabolcs:它將序列(來自生成器表達式的所有對)作爲單獨的參數應用於'zip()'函數。 'zip()'見'zip(pair1,pair2,pair3等)',然後將所有這些對拉成兩個列表。 –
@BarnabasSzabolcs:'(.. for .. in ..)'構造是一個生成器表達式。這很像列表理解('[.. for .. in ..]'),除非它不會在內存中首先創建一個新列表。 –