多列表个人附加

有人知道有没有办法做这样的事情?:

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,z)

这样,在每次迭代中,每个对应的值都会进入其正确的列表

photon0 回答:多列表个人附加

否;您必须先解压缩返回值的包装,然后将每个值传递给适当的函数。

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 = []

您可以考虑使用列表列表(或字典),而不要使用单独的名称XYZ

results = [[],[],[]]
for a in range(rows):
    for b in range(cols):
        vs = function(a,z)
        for lst,v in zip(results,vs):
            lst.append(v)

但是对于只有3个列表,我认为这不会给您带来太大好处。

本文链接:https://www.f2er.com/3147870.html

大家都在问