元组比较

1 投票
2 回答
631 浏览
提问于 2025-04-16 08:19

我有一个字典,定义如下:

d = {"date": tuple(date),"open":tuple(open),"close":tuple(close),"min":tuple(min),"max":tuple(max),"MA":tuple(ma)}

这些元组里面每一个都包含了一组值(每个元组的值数量是一样的),我该怎么遍历特定键的每个值,来比较一下“close”是否大于“MA”?

2 个回答

1

来自Python文档的内容:

元组和列表的比较是通过比较它们对应的元素来进行的。这意味着,要想两个序列相等,每个元素都必须相等,并且这两个序列必须是同一种类型且长度相同。

如果不相等,那么它们的顺序是根据第一个不同的元素来决定的。例如,比较[1,2,x]和[1,2,y]的结果和比较x和y的结果是一样的。如果某个对应的元素不存在,较短的序列会排在前面(比如说,[1,2]会小于[1,2,3])。

所以正如@TokenMacGuy所说,你可以简单地用d['close'] > d['MA']来比较这两个元组。

1

我漏掉了什么呢?d['close'] > d['MA']?

编辑:关于你的评论

[...] 我想要返回的是“close”中的某个元素有多少次大于与之对应的“MA”中的元素。(它们在同一个位置)

sum( pair[0] > pair[1] for pair in zip(d['close'], d['MA']) )

撰写回答