猿问

List 类有类似“is_member”的方法吗?

我想使用一个函数来过滤掉不在另一个列表中的列表项。


如果可能的话我想避免使用 lambda 函数。


但我无法发现 List 类的任何“is_member”方法。有吗?


这是我正在寻找的代码类型。


to_filter=['age','height','name', 'address']

as_float=['age', 'height', 'weight']


are_float=filter(as_float.is_member, to_filter)

谢谢你的帮助!


幕布斯6054654
浏览 111回答 3
3回答

江户川乱折腾

是的,你可以使用该__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']

烙印99

只需这样做:are_float = [item for item in to_filter if item not in as_float]

白衣染霜花

您也许还可以使用set来获得结果。to_filter=['age','height','name', 'address']as_float=['age', 'height', 'weight']are_float = set(to_filter)-set(as_float)
随时随地看视频慕课网APP

相关分类

Python
我要回答