美文网首页
python实现:统计字符串中,各个字符的个数

python实现:统计字符串中,各个字符的个数

作者: white_study | 来源:发表于2018-06-23 23:00 被阅读0次
    要求:
    • 统计字符串中,各个字符串的个数,并将其结果使用字典存储;
    • 比如:"hello world"字符串统计结果为:{'r': 1, 'w': 1, 'l': 3, 'o': 2, 'h': 1, 'd': 1, 'e': 1}
    代码实现:
    def count_char(test_str):
        """统计字符串的个数"""
        count_dict = {}  # 存储统计结果的字典
        for k in set(test_str):
            if k == " ":
                continue
            count_dict[k] = test_str.count(k)
        return count_dict
    
    test_str = "hello world"
    count_dict = count_char(test_str)
    print(count_dict)
    
    打印结果:{'o': 2, 'l': 3, 'r': 1, 'w': 1, 'd': 1, 'e': 1, 'h': 1}
    
    代码实现思路:
    • 使用集合(set)去重的特性获取单个字符串;
    • 使用字符串的count方法统计字符串个数;
    代码优化:字典推导式简化代码:
    def count_char(test_str):
        """统计字符串的个数"""
        return {k: test_str.count(k) for k in set(test_str) if k not in " "}
    
    test_str = "hello world"
    count_dict = count_char(test_str)
    print(count_dict)
    
    其它实现方式:使用collections模块的Counter方法,简洁高效
    import collections
    test_str = "hello world"
    count_dict = dict(collections.Counter(test_str))
    print(count_dict)
    
    打印结果:{'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': 1}
    

    相关文章

      网友评论

          本文标题:python实现:统计字符串中,各个字符的个数

          本文链接:https://www.haomeiwen.com/subject/yqgdyftx.html