我有一个函数可以返回某些股票代码的日期和值。
def getData(ticker):
# logic
return dates, values
dates_list, values_list = getData("TVIX")
虽然这些日期和值列表现在已正确配对(即每个值与其原始观察日期具有相同的索引),但对任一向量进行快速排序都将删除此关系。将这样的东西作为一个元组返回是否更好,这样每个观察都不能从它的价值中“逃脱”?
我想的是:
def getData(ticker):
# logic
ret_list = []
date_value = (d, v) # for a particular observation
ret_list.append(date_value)
return ret_list
运行getData
的第二次迭代会产生类似的结果(数据实际上并不反映TVIX
值):
>>> x = getData("TVIX")
>>> for pair in x:
print(pair)
("2013/01/01", 120)
("2013/01/02", 121)
("2013/01/03", 127)
答案 0 :(得分:1)
是的,最好保持相关的耦合值,以便在对这些值进行排序时将它们排序在一起。你可以通过用
替换你的return语句来实现这一点return zip(dates, values)
无需更改getData
的内部逻辑。