Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-修改列表中的项_Python - Fatal编程技术网

Python-修改列表中的项

Python-修改列表中的项,python,Python,我有一个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循环,我们需要迭代列表两次,无论理解与否。 有没有更好的方法来实现这一点。 我没有太多地使用过滤器和映射,但觉得可能有更好的选择。 谢谢你的帮助。不,没有。无论如何

我有一个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循环,我们需要迭代列表两次,无论理解与否。
有没有更好的方法来实现这一点。
我没有太多地使用过滤器和映射,但觉得可能有更好的选择。

谢谢你的帮助。

不,没有。无论如何实现,至少需要两个循环

import numpy

a = numpy.array([[3,0],[5,0],[7,3]])
zero_mask = a[:,1] == 0

a[zero_mask] = a[~zero_mask][0]

不幸的是,它没有使用您的A类…

如果有多个
A
的实例且
y
为非零会怎么样?在我的解决方案中,我只是“假设”他只想要第一个……我的上述解决方案不需要一次迭代吗?@JoranBeasley:of
A
,是的。