Python:从循环创建多维数组
请问你能帮我吗?我在想怎么从一个循环中创建一个多维数组。
我正在遍历一个数据表中的行,想把这些行放到一个数组里。
谢谢!
Jay
from Spotfire.Dxp.Data import DataValueCursor
from System import DateTime, TimeSpan, DayOfWeek
from datetime import date
import time
#define ID
idcursor=DataValueCursor.Create[str](table.Columns["ID"])
#define actual date
actualcursor=DataValueCursor.Create[str](table.Columns["ActualDate"])
#define duration
durationcursor=DataValueCursor.Create[int](table.Columns["Duration"])
#define Start, # of Months and # of days
startcursor=DataValueCursor.Create[int](table.Columns["Start Months"])
monthcursor=DataValueCursor.Create[int](table.Columns["Number of Months"])
daycursor=DataValueCursor.Create[int](table.Columns["Number Of Days"])
#define Min and Max Dates
mincursor=DataValueCursor.Create[str](table.Columns["Min Date"])
maxcursor=DataValueCursor.Create[str](table.Columns["Max Date"])
myPanel = Document.ActivePageReference.FilterPanel
idxSet = myPanel.FilteringSchemeReference.FilteringSelectionReference.GetSelection(table).AsIndexSet()
bar = []
for row in table.GetRows(idxSet,idcursor,durationcursor,actualcursor,startcursor,monthcursor,daycursor):
#I would like this line to populate the array
bar.append(idcursor.CurrentValue)
1 个回答
0
Dannno 在评论里已经给出了你的答案。
你可以这样做:
bar.append([idcursor.CurrentValue, durationcursor.CurrentValue, ...])
注意这里使用了 []
。这和
bar.append(idcursor.CurrentValue, durationcursor.CurrentValue, ...)
是不同的,因为使用 []
会创建一个包含所有值的数组,并把这个数组添加到 bar
中;而如果不使用 []
,就会尝试把每个值当作单独的参数传给 bar.append()
,这样是行不通的,正如你发现的那样。
你还提到你尝试过:
bar.append(idcursor.CurrentValue)
bar.append(durationcursor.CurrentValue)
...
这样会给你一个一维数组,里面包含了所有的值。因为你说你想要一个多维数组,所以这个方法对你来说不适用。