我构建了以下字典,它从for-loop
开始获取计数器。for-loop
的作用如下:
for period in range(number_periods):
if value > mean_value:
dict[key] += 1
从中,我得到了以下字典:
dict = {(1, 1): 0, (2, 2): 0, (3, 3): 3}
现在我想弄清楚,如果字典中的一个键有一个计数器,例如for-loop
(即k=3
(的三个连续周期,我想识别这些键并将其单独存储在一个新字典中。
因此,如果发生以下情况,我想创建一个新的字典或打印计数器连续增加的特定键。
period = 1: dict = {(1, 1): 0, (2, 2): 0, (3, 3): 0}
period = 2: dict = {(1, 1): 0, (2, 2): 0, (3, 3): 1}
period = 3: dict = {(1, 1): 0, (2, 2): 0, (3, 3): 2}
period = 4: dict = {(1, 1): 0, (2, 2): 0, (3, 3): 3}
new_dict = {(3, 3): 1}
也就是说,new_dict
表示已经发生这种连续增量的密钥(对于给定的例子,如果k=3
,则恰好发生一次(。
new_dict
本身应具有计数功能,即每当dict
中的计数器连续增加三次时,new_dict
中的计数器应增加1
。如果这种情况再次发生,则应再次调整new_dict
:
new_dict = {(3, 3): 2}
实现这一目标的最有效方法是什么?
您可能希望发生这种情况的一种方法是检查dict
:中的值何时递增
for period in range(number_periods):
if value > mean_value:
dict[key] += 1
v = dict[key]
v3 = v//3
if v3 > 0:
new_dict[key] = v3