任何人都知道有没有办法做这样的事情?:
def function(a, b, z):
code
return x, y, z
X, Y, Z = [] for i in range(3)
for a in range(rows):
for b in range(cols):
X.append(), Y.append(), Z.append() = function(a, b, z)
以便在每次迭代中,每个对应的值都进入其适当的列表
否;您必须先解压缩返回值,然后将每个值传递给适当的函数。
v1, v2, v3 = function(a, b, z)
X.append(v1)
Y.append(v2)
Z.append(v3)
顺便说一下,X, Y, Z = [] for i in range(3)
不是有效的语法。只需写
X = []
Y = []
Z = []
您可能会考虑使用列表列表(或字典),而不要使用单独的名称X
,Y
和Z
。
results = [[], [], []]
for a in range(rows):
for b in range(cols):
vs = function(a, b, z)
for lst, v in zip(results, vs):
lst.append(v)
但是只有3个列表,我认为这不会给您带来太大好处。