【流畅的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统计日志中每个IP出现次数的方法
-
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
-
java中对字符串每个字符统计的方法
-
python统计字符串中指定字符出现次数的方法
-
Java统计一个字符串在另外一个字符串出现次数的方法
-
aabccd统计每个字符出现的次数,结果显示{ a: 2, b: 1, c: 2, d: 1 };去掉重复的字符,使结果显示abcd
-
python统计文本字符串里单词出现频率的方法
-
PHP中substr_count()函数获取子字符串出现次数的方法
-
Python3实现统计单词表中每个字母出现频率的方法示例
-
Python统计列表中的重复项出现的次数的方法