计算一个字符串中每个字符出现的次数

import pprint
message = 'It was a bright cold day in April, ' \
'and the clocks were striking thirteen.'
count = {}
for character in message:
count.setdefault(character, 0)
count[character] += 1
pprint.pprint(count)

程序循环迭代message字符串中每个字符,计算每个字符出现的次数

1. 定义一个空字典

2. 从第一个字符开始进行判断,若字符在message中,则在空字典中增加一个键值对,

并给该键(字符)对应的值(次数)一个默认值(0)

3. 给该键(字符)对应的值(次数)+1,存入count字典中

4. 重复循环上述过程,若字符已存在,则对应key+1,不存在则新建并设置对应key为1

5. pprint模块(库)可以将字典显示得更好看

==============================

递归(recursion):

递归常被用来描述以自相似方法重复事物的过程,在数学和计算机科学中,指的是在函数定义中使用函数自身的方法。(A调用A)

迭代(iteration):

重复反馈过程的活动,每一次迭代的结果会作为下一次迭代的初始值。(A重复调用B)

字典方法 setdefault()、pprint;迭代、递归的区别的更多相关文章

  1. 字典的setdefault() 和get()方法比较

    Python 字典 setdefault() 函数 和get() 类似: 如果键存在字典中,返回其value值 如果键不存在字典中,创建键值对.完后,返回值为默认值. 话不多说,上栗子: setdef ...

  2. Python 字典(Dictionary) setdefault()方法

    描述 Python 字典(Dictionary) setdefault() 函数和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值. 语法 setdefault()方法语法: ...

  3. Python 字典方法

    访问字典的值 字典中的 键/值 实际上就是一种映射关系,只要知道了 “键”,就肯定知道 “值”. >>> my_dict = dict(name = 'zhangsan',other ...

  4. day13-迭代器、三元表达式、列表推导式、字典生成式、生成器与递归

    目录 迭代器 可迭代对象 迭代器对象 for循环原理 三元表达式(三目表达式) 列表推导式 字典生成式 zip()方法 生成器 生成器表达式 递归 递归的两个阶段 迭代器 迭代器即迭代的工具,迭代是一 ...

  5. Python基础 第四章 字典(2)字典方法&章小结

    1. clear 方法clear删除所有的字典项,就地执行,什么都不返回(或者说返回None) d = {} d['name'] = 'Gumby' d['age'] = 42 print(d) re ...

  6. UI:字典的两种取值的区别

    字典的两种取值的区别 (objectForKey: 和 valueForKey )参考 一般来说 key 可以是任意字符串组合,如果 key 不是以 @ 符号开头,这时候 valueForKey: 等 ...

  7. 遍历字典时用与不用iter的区别

    遍历字典时用与不用iter的区别 遍历字典的时候一般会用这三个方法:keys(),values(),items() 同时,它们各自都有升级版的方法:iterkeys(),itervalues(),it ...

  8. Python——字典与字典方法

    字典是一种通过名字或者关键字引用的得数据结构,其键可以是数字.字符串.元组,这种结构类型也称之为映射.字典类型是Python中唯一內建的映射类型,基本的操作包括如下: (1)len():返回字典中键— ...

  9. Python dict字典方法完全攻略(全)

    我们知道,Python 字典的数据类型为 dict,我们可使用 dir(dict) 来查看该类型包含哪些方法,例如: >>> dir(dict)['clear', 'copy', ' ...

  10. Python常用数据结构-字典——2.1 字典方法 keys()

    python字典常用方法: keys()               #  获取所有的键 values()            #  获取所有的值 items()              #  获 ...

随机推荐

  1. 【运维】Linux/Ec2挂载卷与NFS搭建实站讲解

    英文Network File System(NFS),是由SUN公司研制的UNIX表示层协议(presentation layer protocol),能使使用者访问网络上别处的文件就像在使用自己的计 ...

  2. win10 右键文件夹卡死

    遇到右键文件夹卡死的问题,网上查找尝试, 命令窗口输入如下命令: SFC/Scannow 还有个思路 ,360安全 软件大全下载一个右键管理软件删除多余无用的右键选项: 参考:https://answ ...

  3. Vulnhub 靶场 HACK ME PLEASE: 1

    Vulnhub 靶场 HACK ME PLEASE: 1 一.前期准备 靶机下载地址:https://www.vulnhub.com/entry/hack-me-please-1,731/ 攻击机ka ...

  4. 【Tomcat】ubuntu系统安装Tomcat

    Tomcat简介 Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,支持最新的Servlet 2.4 和JSP 2.0 规范,在中小型系统和并发访问用户不是很多的场 ...

  5. 本地JAR包如何上传私有仓库

    需求背景 有些第三方的jar包需要手动上传到maven私有仓库,以便通过maven来管理依赖. 为简化手动上传的jar包的操作步骤,所以整了个脚本,在使用时只需修改相应变量即可. 脚本示例 #!/bi ...

  6. linux 安装 vsftpd ftp 服务端

    安装 yum install vsftpd 修改:/etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=Y ...

  7. 时间处理及interval函数运用

    MySql时间操作1.interval的说明1.1.当函数使用时,即interval(),为比较函数,如:interval(10,1,3,5,7); 结果4:原理:10为被比较数,后面1,3,5,7为 ...

  8. 小程序中使用less

    小程序中使用Less 原生小程序不支持less,其他基于小程序的框架大体都支持,如wepy,mpvue,taro等.但是仅仅因为一个less功能,而且引入一个框架,肯定是不可取的.因此可以用以下方式来 ...

  9. 在Tomcat中部署Web项目的操作方法(必看篇)

    在这里介绍在Tomcat中部署web项目的三种方式: 1.部署解包的webapp目录 2.打包的war文件 3.Manager Web应用程序 一:部署解包的webapp目录 将Web项目部署到Tom ...

  10. echart一个框里放三个饼图案例

    效果图: 代码: function(chartOption){ chartOption = $nps$.deepCopyTo({}, chartOption); var chartDataList_r ...