I`ve一个这样定义的字典:元组比较
d = {"date": tuple(date),"open":tuple(open),"close":tuple(close),"min":tuple(min),"max":tuple(max),"MA":tuple(ma)}
每个元组的那些中的一个中包含的值的列表(相同数量的每个元组值的),如何可以迭代槽paticular的每个值比较“关闭”是否优于“MA”的键?
I`ve一个这样定义的字典:元组比较
d = {"date": tuple(date),"open":tuple(open),"close":tuple(close),"min":tuple(min),"max":tuple(max),"MA":tuple(ma)}
每个元组的那些中的一个中包含的值的列表(相同数量的每个元组值的),如何可以迭代槽paticular的每个值比较“关闭”是否优于“MA”的键?
我错过了什么? d['close'] > d['MA']
?
编辑:回复,您的意见
[...]我想返回多少次的一个元素“亲密”是>到MA的匹配元素。 (相同的元组索引)
sum(pair[0] > pair[1] for pair in zip(d['close'], d['MA']))
元组和列表字典顺序使用相应的元件的比较比较。这意味着为了比较相等,每个元素必须相等并且两个序列必须是相同类型并且具有相同长度。
如果不相等,序列的顺序与第一个不同的元素相同。例如,cmp([1,2,x],[1,2,y])与cmp(x,y)的返回值相同。如果相应的元素不存在,则较短的序列首先排序(例如,[1,2] < [1,2,3])。
那么作为@TokenMacGuy说,你可以简单地使用d['close'] > d['MA']
到各自的元组进行比较。
建议编辑:“每个元组值相同*数量*”,而不是“每个元组值相同*数量*”。 – systemovich 2010-12-10 10:47:49
是有道理的,编辑 – 2010-12-10 10:56:28