删除字符串中出现次数最少的字符

删除字符串中出现次数最少的字符

from collections import defaultdict


def solve(origin_str):
    detail_info = defaultdict(int)
    for i in origin_str:
        detail_info[i] += 1
    for k in detail_info:
        if detail_info[k] == min(detail_info.values()):
            origin_str = origin_str.replace(k, '')
    return origin_str


if __name__ == '__main__':
    example_str = "abcdefab"
    print(solve(example_str))   # abab

这里利用了python的collections.defaultdict来构建初始字典,defaultdict和dict不同的是,dict中调用不存在的key会出现KeyEerror, defaultdict调用不存在的key会得到传入的工厂函数的实例,int实例化就是0,list实例化就是空列表,str实例化就是空字符串。

posted @ 2019-05-10 10:49  村口王铁匠  阅读(431)  评论(0编辑  收藏  举报