0
我正在創建一個newArrayList。 signalxOP數組中的每個數組都減去漸變,每個appliedFieldOP數組都有多個。 (SignalxOP[] - Gradient) * appliedFieldOP[]
處理多個數組值
我該怎麼做?以下是我嘗試的方法。它不斷給我錯誤。
signalxOP = [5,4,3,2,1]
appliedFieldOP= [1,0.5,0,-0.5,-1]
Gradient = 1.5
newList = [[(x-Gradient)*y] for x,y in signalxOP,appliedFieldOP]
py.plot(appliedFieldOP,newList)
py.show()
錯誤顯示
newList = [[(x-Gradient)*y] for x,y in signalxOP,appliedFieldOP]
ValueError: too many values to unpack
一個大概應該使用['izip'](http://docs.python.org/ 2/library/itertools.html#itertools.izip)。但是,這對短名單並不重要。 – Suor
@Suor:當你知道他們很短時,我會走得更遠,並說'zip'是_better_。走出去使用'izip'意味着你期待可能的大數據(並且你願意無條件地破壞3.x兼容性,可能會嚇到一些新手,並讓你的代碼稍微慢一些小數據這樣做),當你確信你有小列表時這是誤導性的。 – abarnert
@abarnert'izip'仍然更快,即使是短名單。在'ipython'中試試'timeit [x + y for x,y in zip(l,l)]','和'izip'一樣。 – Suor