这些数据会因处理而变得不匹配吗?

时间:2016-03-11 14:30:54

标签: python data-structures

我有一个函数可以返回某些股票代码的日期和值。

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)

1 个答案:

答案 0 :(得分:1)

是的,最好保持相关的耦合值,以便在对这些值进行排序时将它们排序在一起。你可以通过用

替换你的return语句来实现这一点
return zip(dates, values)

无需更改getData的内部逻辑。