欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【流畅的python】04- 统计字符串中每个字符出现的次数

程序员文章站 2022-01-30 20:47:34
...

如题,思考出了四种方法,
写法越来越pythonic
1.

# 1 for:for:
message='统计字符串中每个字符出现的次数'
count = {}
n = 0
message_set = set(message)
for i in message_set:
    # print(i)
    for j in message:
        if i == j:
            n += 1
    count[i] = n

    n = 0

print(count)
# 结果
>>> {'现': 1, '中': 1, '计': 1, '数': 1, '的': 1, '串': 1, '字': 2, '出': 1, '每': 1, '统': 1, '符': 2, '个': 1, '次': 1}
# 2 setdefault
message='统计字符串中每个字符出现的次数'
count={}
for character in message:
    count.setdefault(character, 0)
    count[character]=count[character]+1

print(count)
# 结果
>>> {'串': 1, '统': 1, '数': 1, '字': 2, '计': 1, '个': 1, '次': 1, '每': 1, '符': 2, '现': 1, '出': 1, '中': 1, '的': 1}
# 3 count()
message='统计字符串中每个字符出现的次数'
count = {}
for character in message:
    count[character] = message.count(character)
print(count)
# 结果
>>> {'字': 2, '次': 1, '出': 1, '符': 2, '计': 1, '串': 1, '每': 1, '中': 1, '个': 1, '现': 1, '统': 1, '的': 1, '数': 1}
# 4 collections.Counter
import collections
ct = collections.Counter('统计字符串中每个字符出现的次数')
print(ct)
# 结果
>>> Counter({'字': 2, '符': 2, '现': 1, '串': 1, '中': 1, '计': 1, '出': 1, '每': 1, '次': 1, '统': 1, '数': 1, '的': 1, '个': 1})
相关标签: python