(stats, big_stats, threshold)
Prune statistics dict for efficiency of max()

    The frequency of a symbol pair never increases, so pruning is generally safe
    (until we the most frequent pair is less frequent than a pair we previously pruned)
    big_stats keeps full statistics for when we need to access pruned items
Prune statistics dict for efficiency of max()
Prune statistics dict for efficiency of max ()
def prune_stats(stats, big_stats, threshold):
    """Prune statistics dict for efficiency of max()

    The frequency of a symbol pair never increases, so pruning is generally safe
    (until we the most frequent pair is less frequent than a pair we previously pruned)
    big_stats keeps full statistics for when we need to access pruned items
    """
    for item, freq in list(stats.items()):
        if freq < threshold:
            del stats[item]
            if freq < 0:
                big_stats[item] += freq
            else:
                big_stats[item] = freq
def prune_stats ( stats , big_stats , threshold ) : for item , freq in list ( stats . items ( ) ) : if freq < threshold : del stats [ item ] if freq < 0 : big_stats [ item ] += freq else : big_stats [ item ] = freq