我正在尝试过滤一个对象,返回一个特定属性的列表。看看我尝试了什么:
class Foo:
def __init__(self,a,b):
self.a = a
self.b = b
x = Foo(1,2)
y = Foo(1,3)
z = Foo(2,4)
result = filter(lambda f: f.b if f.a == 1 else None, [x,y,z])
print(list(result))
我原本期望得到这样的列表[2, 3]
,但是它返回了一组foo
对象的列表。是否有一种方法只使用filter
或其他函数就能实现呢?例如,我想避免使用map
和filter
。
Foo.b
的值。 - Peter Wood