python - 如何找出字母表和字母转换频率?
问题描述
示例:“彼得·派珀摘了一小撮泡椒”
首先,计算一个字母的频率。
abc = 'peter piper picked a peck of pickled peppers'
set(abc)
freq = {}
for i in abc:
freq[i] = abc.count(i)
freq
但是,我找不到如上转换的字母的编号,我怎样才能得到呢?
- p>e : 5
- e>t : 1
- t>e : 1
- e>r : 3
解决方案
zip
与移位 1 的相同字符串一起使用以获取当前字符和下一个字符对- 用于
collections.Counter
获取计数。它还可以将您的代码简化为一行。
from collections import Counter
Counter(zip(abc, abc[1:]))
回报:
Counter({('p', 'e'): 5,
('e', 't'): 1,
('t', 'e'): 1,
('e', 'r'): 3,
('r', ' '): 2,
(' ', 'p'): 5,
('p', 'i'): 3,
('i', 'p'): 1,
('i', 'c'): 2,
('c', 'k'): 3,
('k', 'e'): 1,
('e', 'd'): 2,
('d', ' '): 2,
(' ', 'a'): 1,
('a', ' '): 1,
('e', 'c'): 1,
('k', ' '): 1,
(' ', 'o'): 1,
('o', 'f'): 1,
('f', ' '): 1,
('k', 'l'): 1,
('l', 'e'): 1,
('e', 'p'): 1,
('p', 'p'): 1,
('r', 's'): 1})
推荐阅读
- flutter - 警报对话框颤振错误仅有效值 0:1
- python - 沿 i 个元素求和 3d numpy 数组 [i,j]
- specman - 打印文件名和行号以记录
- python - 如何将一个功能的小计分配给另一个功能?
- android - runOnUiThread 的目的是什么
- python - 来自sys.stdin的readlines()之后的input()?
- asp.net-core - DataTable 行返回未定义
- python - 在 Google Colab 中下载 h5 文件
- c# - 在c#中将8Mono像素数据数组转换为24位图像
- matlab - 如何检查矩阵的元素是否在MATLAB中?