为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

幕布斯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']


查看完整回答
反对 回复 2023-07-27
?
烙印99

TA贡献1829条经验 获得超13个赞

只需这样做:

are_float = [item for item in to_filter if item not in as_float]


查看完整回答
反对 回复 2023-07-27
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

您也许还可以使用set来获得结果。


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

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

are_float = set(to_filter)-set(as_float)


查看完整回答
反对 回复 2023-07-27
  • 3 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信