记得面试官出过一道题,统计一篇文章每次字符出现的次数,当时只是给出了方案没有实现,今天正好想起这道题,尝试用python实现。
思路如下:
- 通过python open读取文章,获取到里面的文本
- 将文本转成成一个list,list中每一个对象都是字符
- 根据list生成一个字典,字典的key为字符,value为出现的次数(字典的key是不能重复的),用于统计字符
- 遍历list,并将字符出现的次数更新到字典中
- 对字典根据value的值排序
代码如下:
if __name__ == '__main__':
file_path = '../file/test.txt'
# 去读文本
with open(file_path, encoding='utf-8') as f:
file_word = f.read()
# 转换成list
word_list = list(file_word)
# 生成一个字典
word_dict = {key: 0 for key in word_list}
# 遍历字典
for word in word_list:
word_dict[word] = word_dict.get(word) + 1
# 排序
sort_word_dict = sorted(word_dict.items(), key=lambda x: x[1])
print(sort_word_dict)