-1
爲了不使用那麼多行這樣的聲明變量:我如何在一行中聲明多個數組變量 - 蟒蛇
open = []
high = []
low = []
close = []
我可以做這樣的事情:
open,high,low,close = []
那真的有效
爲了不使用那麼多行這樣的聲明變量:我如何在一行中聲明多個數組變量 - 蟒蛇
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