Python字典_计数器
假设你得到一个字符串,然后你想要查一下每个字母出现了多少次。
1. 用字典来实现的优势,就是我们不需要知道字符串中有哪些字母,只需要为其中存在的字母来提供存储空间。
$ cat c.py
#!/bin/python
def histogram(s):
d = dict()
for c in s:
if c not in d:
d[c] = 1
else:
d[c] += 1
return d
s1 = 'aaadddcccjjjkkk'
print(histogram(s1))
函数的第一行创建了一个空字典。for 循环遍历了整个字符串、每次经过循环的时候,如果字符 c 没有在字典中,就在字典中创建一个新的项,键为c,初始值为1(因为这就算遇到一次了)。
如果 c 已经存在于字典中了,就对 d[c]进行一下累加。
调用函数histogram的结果表明字母a,d,c,j,k分别出现了3次。
$ python3 c.py
{'a': 3, 'd': 3, 'c': 3, 'j': 3, 'k': 3}
2.字典有一个方法,叫做 get,接收一个键和一个默认值。如果这个键在字典中存在,get 就会返回对应的键值;如果不存在,它就会返回这个默认值。
比如:
>>> s2 = histogram('a')
>>> s2
{'a': 1}
>>> s2.get('a', 0)
1 #键a在字典s2中存在,所以返回了键值1
>>> s2.get('d', 0)
0 #键d在字典s2中不存在,所以返回定义的默认值0
结束。