创建字母及其相关计数字典

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建字母及其相关计数字典相关的知识,希望对你有一定的参考价值。

如何从字符串创建字母及其关联计数?通过从字符串创建字典?在Jupyter Hub

彼得·派珀挑了一口腌辣椒;啄了一口腌辣椒皮特;如果彼得·派珀捡到一块腌辣椒,腌辣椒皮的啄啄哪里?

答案

使用Counter

from collections import Counter
t_str = "peter piper picked a peck of pickled peppers; a peck of pickled peppers peter picked; if peter piper picked a peck of pickled peppers, where's the peck of pickled peppers peter picked?"
print(Counter(t_str))

OUTPUT:

Counter('e': 33, 'p': 32, ' ': 31, 'c': 12, 'k': 12, 'r': 11, 'i': 11, 'd': 8, 't': 5, 'f': 5, 's': 5, 'o': 4, 'l': 4, 'a': 3, ';': 2, 'h': 2, ',': 1, 'w': 1, "'": 1, '?': 1)

要么

print(dict((letter,t_str.count(letter)) for letter in set(t_str)))

OUTPUT:

'?': 1, ',': 1, 'r': 11, 'p': 32, ' ': 31, 'k': 12, 'a': 3, 'l': 4, 'd': 8, 'h': 2, "'": 1, 'i': 11, 'w': 1, 'c': 12, ';': 2, 't': 5, 'o': 4, 's': 5, 'f': 5, 'e': 33

编辑(计算来自a-z的字母的出现,无论它们是否存在于字符串中,即在这种情况下它将等于0):

import string
letter_set = string.ascii_lowercase

print(dict((letter,t_str.count(letter)) for letter in letter_set))

OUTPUT:

'a': 3, 'b': 0, 'c': 12, 'd': 8, 'e': 33, 'f': 5, 'g': 0, 'h': 2, 'i': 11, 'j': 0, 'k': 12, 'l': 4, 'm': 0, 'n': 0, 'o': 4, 'p': 32, 'q': 0, 'r': 11, 's': 5, 't': 5, 'u': 0, 'v': 0, 'w': 1, 'x': 0, 'y': 0, 'z': 0

以上是关于创建字母及其相关计数字典的主要内容,如果未能解决你的问题,请参考以下文章

Python字典_计数器

在另一个字典中嵌套一个计数器,其中键是数据框列

华为OD机试 - 字母计数(Python)| 真题+思路+代码

在使用 Python 从字典列表和相应计数中提取键列表时需要帮助

华为OD机试真题Java实现字母计数真题+解题思路+代码(2022&2023)

实验七 计数器及其应用