Python 需要帮助修复ValueError:要解包的值太多(预计3个)

Python 需要帮助修复ValueError:要解包的值太多(预计3个),python,Python,我是python的新手,所以这可能是一个简单的任务。然而,我在这里有点沮丧。。。事情是这样的: 我在Pyhton中定义了此函数: def arrays(): """ returns to 2 sets of 3d coordinates """ x1 = [0.0, 0.0, 0.0, 0.0, 0.0] y1 = [110.0,110.0,110.0,110.0,110.0] z1 =

我是python的新手,所以这可能是一个简单的任务。然而,我在这里有点沮丧。。。事情是这样的:

我在Pyhton中定义了此函数:

def arrays():
    """
    returns to 2 sets of 3d coordinates
    """
    x1 = [0.0, 0.0, 0.0, 0.0, 0.0]
    y1 = [110.0,110.0,110.0,110.0,110.0]
    z1 = [200.0,160.0,120.0,80.0 ,40.0 ]

    x2 = [60.0, 60.0, 60.0, 60.0, 60.0 ]
    y2 = [0.0,0.0,0.0,0.0,0.0]
    z2 = [200.0,160.0,120.0,80.0 ,40.0 ]

    well1 = [x1,y1,z1]
    well2 = [x2,y2,z2]
    return well1,well2
现在,当执行下面的代码时,我得到

>>> well1,well2=arrays()
>>> for xs,ys,zs in [well1,well2]:
...     print(xs)
...     for i,j,k in [xs,ys,zs]:
...         print(i,j,k)
... 
[0.0, 0.0, 0.0, 0.0, 0.0]
Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
ValueError: too many values to unpack (expected 3)
>>井1,井2=阵列()
>>>对于[well1,well2]中的xs,ys,zs:
...     打印(xs)
...     对于[xs,ys,zs]中的i,j,k:
...         打印(i、j、k)
... 
[0.0, 0.0, 0.0, 0.0, 0.0]
回溯(最近一次呼叫最后一次):
文件“”,第3行,在
ValueError:要解压缩的值太多(应为3个)
我如何才能打印这些值?这里的适当语法是什么?
我找不到任何有助于解决此问题的方法。有人能帮忙吗?非常感谢!干杯

引发的错误来自内部循环:

for i,j,k in [xs,ys,zs]:
问题是列表中的每个元素都将被解包。每个元素(
xs、ys、zs
)中都有5个元素

在一个简单的例子中,在解包过程中,左侧和右侧的元素数量应该相同。这意味着如果您的
xs
有5个元素,您的左侧应该有5个变量:

i,j,k,a,b = xs
因此,您的代码引发异常,因为左侧只有3个变量

解决方案

我想您希望输出如下内容:
0.0、110.0、200.0
。在这种情况下,您应该尝试使用


什么是期望输出?我假设您想在第一种情况下打印类似于
0.0、110.0、200.0的内容?希望得到什么输出?X、Y和Z是列表。您想将它们输出为列表还是元素?@Vitalii确实,这就是我所看到的。检索xs[0]、ys[0]、z[0],然后检索xs[1]、ys[1]、z[1],依此类推。在单个值中,I、j和k。
for xs,ys,zs in well1,well2:
    print(xs)
    for i,j,k in zip(xs,ys,zs):
        print(i,j,k)

[0.0, 0.0, 0.0, 0.0, 0.0]
0.0 110.0 200.0
0.0 110.0 160.0
0.0 110.0 120.0
0.0 110.0 80.0
0.0 110.0 40.0
[60.0, 60.0, 60.0, 60.0, 60.0]
60.0 0.0 200.0
60.0 0.0 160.0
60.0 0.0 120.0
60.0 0.0 80.0
60.0 0.0 40.0