我有一个包含来自测量的多个向量的类。我需要遍历这些向量,但只想使用选定的测量值。到目前为止,我构建的简化版本如下:
import pylab as pl
class IterationReturn(object):
def __init__(self):
self.a = (1,2,3,4,5,6,7,8,9)
self.b = (10,20,30,40,50,60,70,80,90)
self.c = (-1,-2,-3,-4,-5,-6,-7,-8,-9)
self.i = 0
def returnNextSet(self):
self.aIter = self.a[self.i]
self.bIter = self.b[self.i]
self.cIter = self.c[self.i]
self.i +=1
return (self.aIter, self.bIter, self.cIter)
if __name__ == '__main__':
iteration = IterationReturn()
for i in range(len(iteration.a)):
# x takes aIter value from iteration.returnNextSet()
# y takes bIter value from iteration.returnNextSet()
x,y = iteration.returnNextSet()
pl.scatter(x, y)
pl.show()
我不想x,y,z = iteration.returnNextSet()
在这个例子中使用 which 会起作用,但实际上我有更多的值并且不想全部分配它们。我找不到只分配给aIter
and的方法bIter
。
我有一个错误:
x,y = iteration.returnNextSet()
ValueError: too many values to unpack
在我的问题中,我有很多测量值(a,b,...,z),例如我想分配 x=d 和 y=k 我也认为它应该从一开始就以不同的方式完成,比如设计新类继承,但不知道如何做到这一点。感谢您的帮助