Python 字典的高级应用与优化
1. 字典作为计数器集合
当我们需要统计字符串中每个字母的出现次数时,有以下几种实现方式:
1. 创建 26 个变量,每个变量对应一个字母,遍历字符串,使用链式条件语句来增加相应的计数器。
2. 创建一个包含 26 个元素的列表,将每个字符转换为数字(使用内置函数 ord
),将该数字作为列表的索引,并增加相应的计数器。
3. 创建一个字典,将字符作为键,计数器作为对应的值。第一次遇到某个字符时,在字典中添加一个新项;之后,增加现有项的值。
以下是使用字典实现的代码示例:
def histogram(s):
d = dict()
for c in s:
if c not in d:
d[c] = 1
else:
d[c] += 1
return d
这个函数名为 histogram
,它是一个统计术语,表示一组计数器(或频率)。函数的第一行创建了一个空字典, for
循环遍历字符串。每次循环时,如果字符 c
不在字典中,我们创建一个新项,键为 c
,初始值为 1;如果 c
已经在字典中,我们增加 d[c]
的值。
示例运行: