Python字典_计数器

Posted 巴州夜雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

结束。

以上是关于Python字典_计数器的主要内容,如果未能解决你的问题,请参考以下文章

python合并list中各个字典中相同条件的累计数

python-计数器,有序字典

Python:字典的分组和聚合列表[无计数器]

python字典计数? [复制]

在使用 python 从字典列表中提取值计数时需要帮助

python 用字典计数