Python 创建包含给定值和日期范围的所有可能性的词典的最佳方法?

Python 创建包含给定值和日期范围的所有可能性的词典的最佳方法?,python,loops,Python,Loops,我编写了以下脚本来完成上述操作 from datetime import datetime, timedelta def prv( name, arg ): print( f'\n{name} -> {type(arg)} -> {arg}' ) def pri( name, arg ): print( f'\n{name} -> {len(arg)} -> {arg}' ) def convert_str_to_pydate ( date, dat

我编写了以下脚本来完成上述操作

from datetime import datetime, timedelta

def prv( name, arg ):
    print( f'\n{name} -> {type(arg)} -> {arg}' )

def pri( name, arg ):
    print( f'\n{name} -> {len(arg)} -> {arg}' )

def convert_str_to_pydate ( date, dateformat="%d/%m/%Y"):
    refdate = datetime.strptime( date, dateformat )
    return refdate

def main():
    start_date = convert_str_to_pydate( '1/03/2020' )
    last_date = convert_str_to_pydate( '5/03/2020' )
    period = (last_date - start_date).days + 1
    prv( 'period', period) 
    period_dates = [ start_date + timedelta(days=x) for x in range( period ) ]
    pri( 'period_dates', period_dates) 
    values = [ i for i in range(3,0,-1) ]
    pri( 'values', values) 

    count = 0
    for i in period_dates:
        for v1 in values:
            for v2 in values:
                b = { i:v1 for i in period_dates }
                b[i] = v2
                print( count, b )
                count += 1

main()
它返回了以下信息:

period -> <class 'int'> -> 5

period_dates -> 5 -> [datetime.datetime(2020, 3, 1, 0, 0), datetime.datetime(2020, 3, 2, 0, 0), datetime.datetime(2020, 3, 3, 0, 0), datetime.datetime(2020, 3, 4, 0, 0), datetime.datetime(2020, 3, 5, 0, 0)]

values -> 3 -> [3, 2, 1]
0 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
1 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
2 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
3 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
4 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
5 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
6 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
7 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
8 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
9 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
10 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
11 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
12 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
13 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
14 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
15 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
16 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
17 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
18 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
19 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
20 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
21 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
22 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
23 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
24 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
25 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
26 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
27 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
28 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 3}
29 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 3}
30 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 2}
31 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
32 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 2}
33 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 1}
34 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 1}
35 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
36 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 3}
37 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 2}
38 {datetime.datetime(2020, 3, 1, 0, 0): 3, datetime.datetime(2020, 3, 2, 0, 0): 3, datetime.datetime(2020, 3, 3, 0, 0): 3, datetime.datetime(2020, 3, 4, 0, 0): 3, datetime.datetime(2020, 3, 5, 0, 0): 1}
39 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 3}
40 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 2}
41 {datetime.datetime(2020, 3, 1, 0, 0): 2, datetime.datetime(2020, 3, 2, 0, 0): 2, datetime.datetime(2020, 3, 3, 0, 0): 2, datetime.datetime(2020, 3, 4, 0, 0): 2, datetime.datetime(2020, 3, 5, 0, 0): 1}
42 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 3}
43 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 2}
44 {datetime.datetime(2020, 3, 1, 0, 0): 1, datetime.datetime(2020, 3, 2, 0, 0): 1, datetime.datetime(2020, 3, 3, 0, 0): 1, datetime.datetime(2020, 3, 4, 0, 0): 1, datetime.datetime(2020, 3, 5, 0, 0): 1}
period->->5
句点日期->5->[datetime.datetime(2020,3,1,0,0),datetime.datetime(2020,3,2,0,0),datetime.datetime(2020,3,3,0,0),datetime.datetime(2020,3,4,0,0),datetime.datetime(2020,3,5,0,0)]
值->3->[3,2,1]
0{datetime.datetime(2020,3,1,0,0):3,datetime.datetime(2020,3,2,0,0):3,datetime.datetime(2020,3,3,0,0):3,datetime.datetime(2020,3,4,0,0):3,datetime.datetime(2020,3,5,0,0):3}
1{datetime.datetime(2020,3,1,0,0):2,datetime.datetime(2020,3,2,0,0):3,datetime.datetime(2020,3,3,0,0):3,datetime.datetime(2020,3,4,0,0):3,datetime.datetime(2020,3,5,0,0):3}
2{datetime.datetime(2020,3,1,0,0):1,datetime.datetime(2020,3,2,0,0):3,datetime.datetime(2020,3,3,0,0):3,datetime.datetime(2020,3,4,0,0):3,datetime.datetime(2020,3,5,0,0):3}
3{datetime.datetime(2020,3,1,0,0):3,datetime.datetime(2020,3,2,0,0):2,datetime.datetime(2020,3,3,0,0):2,datetime.datetime(2020,3,4,0,0):2,datetime.datetime(2020,3,5,0,0):2}
4{datetime.datetime(2020,3,1,0,0):2,datetime.datetime(2020,3,2,0,0):2,datetime.datetime(2020,3,3,0,0):2,datetime.datetime(2020,3,4,0,0):2,datetime.datetime(2020,3,5,0,0):2}
datetime.datetime(2020,3,1,0,0):1,datetime.datetime(2020,3,2,0,0):2,datetime.datetime(2020,3,3,0,0):2,datetime.datetime(2020,3,4,0,0):2,datetime.datetime(2020,3,5,0,0):2}
6{datetime.datetime(2020,3,1,0,0):3,datetime.datetime(2020,3,2,0,0):1,datetime.datetime(2020,3,3,0,0):1,datetime.datetime(2020,3,4,0,0):1,datetime.datetime(2020,3,5,0,0):1}
7{datetime.datetime(2020,3,1,0,0):2,datetime.datetime(2020,3,2,0,0):1,datetime.datetime(2020,3,3,0,0):1,datetime.datetime(2020,3,4,0,0):1,datetime.datetime(2020,3,5,0,0):1}
8{datetime.datetime(2020,3,1,0,0):1,datetime.datetime(2020,3,2,0,0):1,datetime.datetime(2020,3,3,0,0):1,datetime.datetime(2020,3,4,0,0):1,datetime.datetime(2020,3,5,0,0):1}
9{datetime.datetime(2020,3,1,0,0):3,datetime.datetime(2020,3,2,0,0):3,datetime.datetime(2020,3,3,0,0):3,datetime.datetime(2020,3,4,0,0):3,datetime.datetime(2020,3,5,0,0):3}
10{datetime.datetime(2020,3,1,0,0):3,datetime.datetime(2020,3,2,0,0):2,datetime.datetime(2020,3,3,0,0):3,datetime.datetime(2020,3,4,0,0):3,datetime.datetime(2020,3,5,0,0):3}
11{datetime.datetime(2020,3,1,0,0):3,datetime.datetime(2020,3,2,0,0):1,datetime.datetime(2020,3,3,0,0):3,datetime.datetime(2020,3,4,0,0):3,datetime.datetime(2020,3,5,0,0):3}
datetime.datetime(2020,3,1,0,0):2,datetime.datetime(2020,3,2,0,0):3,datetime.datetime(2020,3,3,0,0):2,datetime.datetime(2020,3,4,0,0):2,datetime.datetime(2020,3,5,0,0):2}
13{datetime.datetime(2020,3,1,0,0):2,datetime.datetime(2020,3,2,0,0):2,datetime.datetime(2020,3,3,0,0):2,datetime.datetime(2020,3,4,0,0):2,datetime.datetime(2020,3,5,0:2}
14{datetime.datetime(2020,3,1,0,0):2,datetime.datetime(2020,3,2,0,0):1,datetime.datetime(2020,3,3,0,0):2,datetime.datetime(2020,3,4,0,0):2,datetime.datetime(2020,3,5,0,0):2}
15{datetime.datetime(2020,3,1,0,0):1,datetime.datetime(2020,3,2,0,0):3,datetime.datetime(2020,3,3,0,0):1,datetime.datetime(2020,3,4,0,0):1,datetime.datetime(2020,3,5,0,0):1}
16{datetime.datetime(2020,3,1,0,0):1,datetime.datetime(2020,3,2,0,0):2,datetime.datetime(2020,3,3,0,0):1,datetime.datetime(2020,3,4,0,0):1,datetime.datetime(2020,3,5,0,0):1}
17{datetime.datetime(2020,3,1,0,0):1,datetime.datetime(2020,3,2,0,0):1,datetime.datetime(2020,3,3,0,0):1,datetime.datetime(2020,3,4,0,0):1,datetime.datetime(2020,3,5,0,0):1}
18{datetime.datetime(2020,3,1,0,0):3,datetime.datetime(2020,3,2,0,0):3,datetime.datetime(2020,3,3,0,0):3,datetime.datetime(2020,3,4,0,0):3,datetime.datetime(2020,3,5,0,0):3}
19{datetime.datetime(2020,3,1,0,0):3,datetime.datetime(2020,3,2,0,0):3,datetime.datetime(2020,3,3,0,0):2,datetime.datetime(2020,3,4,0,0):3,datetime.datetime(2020,3,5,0,0):3}
20{datetime.datetime(2020,3,1,0,0):3,datetime.datetime(2020,3,2,0,0):3,datetime.datetime(2020,3,3,0,0):1,datetime.datetime(2020,3,4,0,0):3,datetime.datetime(2020,3,5,0,0):3}
21{datetime.datetime(2020,3,1,0,0):2,datetime.datetime(2020,3,2,0,0):2,datetime.datetime(2020,3,3,0,0):3,datetime.datetime(2020,3,4,0,0):2,datetime.datetime(2020,3,5,0:2}
22{datetime.datetime(2020,3,1,0,0):2,datetime.datetime(2020,3,2,0,0):2,datetime.datetime(2020,3,3,0,0):2,datetime.datetime(2020,3,4,0,0):2,datetime.datetime(2020,3,5,0:2}
23{datetime.datetime(2020,3,1,0,0):2,datetime.datetime(2020,3,2,0,0):2,datetime.datetime(2020,3,3,0,0):1,datetime.datetime(2020,3,4,0,0):2,datetime.datetime(2020,3,5,0:2}
24{datetime.datetime(2020,3,1,0,0):1,datetime.datetime(2020,3,2,0,0):1,datetime.datetime(2020,3,3,0,0):3,datetime.datetime(2020,3,4,0,0):1,datetime.datetime(2020,3,5,0,0):1}
25{datetime.datetime(2020,3,1,0,0):1,datetime.datetime(2020,3,2,0,0):1,datetime.datetime(2020,3,3,0,0):2,datetime.datetime(2020,3,4,0,0):1,datetime.datetime(2020,3,5,0:1}
26{datetime.datetime(2020,3,1,0,0):1,datetime.datetime(2020,3,2,0,0):1,datetime.datetime(2020,3,3,0,0):1,datetime.datetime(2020,3,4,0,0):1,datetime.datetime(2020,3,5,0,0):1}
27{datetime.datetime(2020,3,1,0,0):3,da
from datetime import datetime, timedelta
from itertools import product

def prv( name, arg ):
    print( f'\n{name} -> {type(arg)} -> {arg}' )

def pri( name, arg ):
    print( f'\n{name} -> {len(arg)} -> {arg}' )

def convert_str_to_pydate ( date, dateformat="%d/%m/%Y"):
    refdate = datetime.strptime( date, dateformat )
    return refdate

def main():
    start_date = convert_str_to_pydate( '1/03/2020' )
    last_date = convert_str_to_pydate( '5/03/2020' )
    period = (last_date - start_date).days + 1
    prv( 'period', period) 
    period_dates = [ start_date + timedelta(days=x) for x in range( period ) ]
    pri( 'period_dates', period_dates) 
    values = [ i for i in range(3,0,-1) ]
    pri( 'values', values) 

    print('\nUsing itertools.product')
    for count, i in enumerate( product( values, repeat=len(period_dates) ) ):
        desired = i[::-1] # reverse the tuple i
        b = { x:desired[n] for n, x in enumerate( period_dates ) }
        print( count, b )