我是这样定义的字典:
d = {"date": tuple(date),"open":tuple(open),"close":tuple(close),"min":tuple(min),"max":tuple(max),"MA":tuple(ma)}
这些元组中的每一个都包含一个值列表(每个元组的值的数量相同),如果“close”优于“MA”,我如何通过特定值的每个值进行迭代来比较?
答案 0 :(得分:1)
d['close'] > d['MA']
?
编辑: Re,您的评论
[...]我想要返回的是“关闭”的一个元素是多少次>到MA的匹配元素。 (相同的元组索引)
sum( pair[0] > pair[1] for pair in zip(d['close'], d['MA']) )
答案 1 :(得分:1)
来自Python docs:
使用相应元素的比较,按字典顺序比较元组和列表。这意味着要比较相等,每个元素必须比较相等,并且两个序列必须是相同的类型并具有相同的长度。
如果不相等,则序列的排序与其第一个不同的元素相同。例如,cmp([1,2,x],[1,2,y])返回与cmp(x,y)相同的值。如果相应的元素不存在,则首先排序较短的序列(例如,[1,2]< [1,2,3])。
正如@TokenMacGuy所说,你可以简单地使用d['close'] > d['MA']
来比较各自的元组。