Tuple Comparison

前端 未结 2 529
谎友^
谎友^ 2021-01-24 21:46

I`ve a dictionary defined like this :

d = {\"date\": tuple(date),\"open\":tuple(open),\"close\":tuple(close),\"min\":tuple(min),\"max\":tuple(max),\"MA\":tuple(m         


        
相关标签:
2条回答
  • 2021-01-24 22:12

    From the Python docs:

    Tuples and lists are compared lexicographically using comparison of corresponding elements. This means that to compare equal, each element must compare equal and the two sequences must be of the same type and have the same length.

    If not equal, the sequences are ordered the same as their first differing elements. For example, cmp([1,2,x], [1,2,y]) returns the same as cmp(x,y). If the corresponding element does not exist, the shorter sequence is ordered first (for example, [1,2] < [1,2,3]).

    So as @TokenMacGuy says, you can simply use d['close'] > d['MA'] to compare the respective tuples.

    0 讨论(0)
  • 2021-01-24 22:17

    what am I missing? d['close'] > d['MA']?

    Edit: Re, your comments

    [...] what I want to return is how many times one element of "close" is > to the matching element of MA . (same tuple index)

    sum( pair[0] > pair[1] for pair in zip(d['close'], d['MA']) )
    
    0 讨论(0)
提交回复
热议问题