我有一个程序,其中包含三个列出的数据,分别称为proffit,macdHi和macdLow。macdHi和macdLo是放入函数中以创建价格值的参数,因此
price[x]=f(macdHi]x],macdLow[x])
该列表非常大,我想对列表进行排序,因此在对价格进行排序之后,macdHi和macdLow列表将按顺序进行排序。我可以使用pythons sort方法对价格列表进行排序,但是macdLo和macdHi列表的顺序不再与价格列表匹配,因此price [x] = f(macdHi] x],macdLow [x]不再正确
你可以试试这个
AllLists = [macdHi,macdLow]
#sort by MacdHi
SortedByMacdHi = sorted(AllLists, key=lambda row: row[0])
for i in range(len(SortedByMacdHi)):
price[i]=f(AllLists[0][i],AllLists[1][i])
#sort by MacdLow
SortedByMacdLow = sorted(AllLists, key=lambda row: row[1])
for i in range(len(SortedByMacdLow)):
price[i]=f(AllLists[0][i],AllLists[1][i])
#sort by price
for i in range(len(macdHi)):
price[i]=f(macdHi[i],macdLow[i])
CombinedList = [price,macdHi,macdLow]
SortedByMacdLow = sorted(CombinedList, key=lambda row: row[0])
我没有可测试的数据。基本上,前两种方法是将macdHi和macdLow组合在一起的,因此我可以对它们进行排序,同时保持它们的行相对应。然后,我将使用该排序列表来创建价格。
第三种方法与前两种方法几乎相同,但操作相反。我创建了价格,然后合并了三个列表,以便可以在排序期间使它们的行保持对应。
希望这会有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句