这是这种做法的最蟒蛇方式 -
ys = []
for x in xs:
z = compute_something(x)
#z is an object of some class
ys.append(z.a_property_of_z)
return ys
或者我可以在一些聪明的列表理解中处理上述内容吗?或函数式编程?还是其他一些蟒蛇魔法?
答案 0 :(得分:5)
你可以做到
return [compute_something(x).a_property_of_z for x in xs]
答案 1 :(得分:4)
如果您只想收集a_property_of_z
属性,则可以将计算和属性访问结合起来:
return [compute_something(x).a_property_of_z for x in xs]
compute_something()
的返回值可以直接在列表推导中引用。