幕布斯6054654
2023-07-27 09:47:03
我想使用一個函數來過濾掉不在另一個列表中的列表項。如果可能的話我想避免使用 lambda 函數。但我無法發現 List 類的任何“is_member”方法。有嗎?這是我正在尋找的代碼類型。to_filter=['age','height','name', 'address']as_float=['age', 'height', 'weight']are_float=filter(as_float.is_member, to_filter)謝謝你的幫助!
3 回答

江戶川亂折騰
TA貢獻1851條經驗 獲得超5個贊
是的,你可以使用該__contains__方法,這就是in操作員使用的:
In [1]: to_filter=['age','height','name', 'address']
...: as_float=['age', 'height', 'weight']
In [2]: list(filter(to_filter.__contains__, as_float))
Out[2]: ['age', 'height']

白衣染霜花
TA貢獻1796條經驗 獲得超10個贊
您也許還可以使用set來獲得結果。
to_filter=['age','height','name', 'address']
as_float=['age', 'height', 'weight']
are_float = set(to_filter)-set(as_float)
添加回答
舉報
0/150
提交
取消