我如何在一行中声明多个数组变量 - 蟒蛇
问题描述:
为了不使用那么多行这样的声明变量:我如何在一行中声明多个数组变量 - 蟒蛇
open = []
high = []
low = []
close = []
我可以做这样的事情:
open,high,low,close = []
那真的有效
答
不是。你问题中的例子不起作用。它将引发ValueError
。这是因为Python试图解开四个值成open
,high
,low
和closed
,但如果没有发现valuest(这将在Python 2.x中都和Python 3.x中引发错误):
>>> open, high, low, close = []
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: not enough values to unpack (expected 4, got 0)
>>>
初始化所有在同一行列表的变量,你需要为提供一个列表中的所有四个变量:
>>> open, high, low, closed = [], [], [], []
>>>
>>> open
[]
>>> high
[]
>>> low
[]
>>> closed
[]
>>>
最后一行不应该工作。它是如何为你工作的?最后一行*解包*任何在右侧,所以你的列表应该有四个项目来解压 – idjaw
它怎么会不会抛出一个错误? – idjaw
我也是这样,在py27和py3中,它产生'ValueError:需要超过0个值才能解包python和'ValueError:没有足够的值来解压(预期4,得到0)'py35。 – idjaw