想象一下,有隨機的單詞列表:從列表中刪除所有但某些詞(如白名單)
words = ['elephant', 'dog', 'blue', 'sam', 'white', 'red', 'sun', 'moon']
而且我要刪除所有,但下面的話(如白名單):
colors = ['red', 'green', 'blue', 'orange', 'white']
我想產生下面的列表(順序事項):
filtered = ['blue', 'white', 'red']
我想過這樣的事情(W這工作很好):
filtered = filter (lambda a: a == 'red' or a == 'green' or a == 'blue' or a == 'orange' or a == 'white', words)
但這是真的最好/最有效的方式?
這種方法使得兩個關鍵假設:1),要麼在'words'名單沒有按不包含重複項,或者不需要保留,2)「過濾」順序無關緊要。 –
這是一個有效的觀察 –