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

结束。

posted @ 2020-06-24 23:08  巴州夜雨  阅读(578)  评论(0编辑  收藏  举报