我有一个A类实例的列表
class A:
def __init__(self,ox,oy):
self.x=ox
self.y=oy
list1=[A(3,0),A(5,0),A(7,3),......]
现在我需要找出列表中y'为非零的实例 - 并将该值应用于列表中的所有其他成员。
假设只有一个唯一成员将y设为非零
使用通常的for循环,我们需要迭代列表两次 - 有或没有理解
有没有办法更好地实现这一点。
我没有使用过滤器和地图,但觉得可能有更好的选择
感谢帮助。
答案 0 :(得分:1)
不,没有。无论如何实施,至少需要两个循环。
答案 1 :(得分:0)
import numpy
a = numpy.array([[3,0],[5,0],[7,3]])
zero_mask = a[:,1] == 0
a[zero_mask] = a[~zero_mask][0]
不幸的是它没有使用你的A级......