学哥量化交易学习
持续学习,提高认知,磨炼技艺,从零基础学编程并跨过量化程序交易的大门。
 返回首页
 
 
0014 我的字典里不能没有你,关键得有Key
作者:学哥
发布时间:2017-1-22
上节课作业
1. 找到邮政编码里面数字最多的那个省份的名字和共有几个数字,结果应该是四川省和数字4 2. 定义如下的一个座位表,然后输出座位表的每一个人的名字,同时输出是第几排第几列 右下角张鑫晨为第1排第1列 注意最后一排有空位 这个比较简单就不放代码了,需要注意的一点是有2个空位置,可以用空字符串代替即可。如果最上面那行最后一个元素不填写,则循环的时候注意检查list长度,超过list长度范围会出错的。
字典数据类型定义
刚才的作业1里面,为了统计每个省份的个数,用了列表类型来存储,开始的时候列表为空,如果在列表中没有找到省份,则向列表追加一个省份和个数的列表元素,这样的做法用了2层循环,看起来不是太优美,有没有更好的办法呢 用字典数据类型能够解决刚才的问题 字典是一种可变容器,可存储任意类型对象 字典由0到n对键值组成,键值之间用冒号分割,每个对之间用逗号分隔,整个字典包括在花括号中 例如:d = { key1 : value1, key2 : value2 } 键必须是唯一的,但值则不必 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或者元组 2个简单的字典实例: dict = { "语文课老师" : "张三", "数学课老师" : "李四", "英语课老师" : "王五"} provinces={"四川" : 4, "湖北" : 2}
访问字典里的值
把相应的键放入方括号,如下: 注意,如果访问不存在的键,则程序会报错
修改字典
通过赋值语句,可以修改字典的对应的键的值,如果该键不存在,则会新增键值,如下:
删除字典元素
和列表一样,使用del命令删除字典的某个键值,或者整个字典,如下: 注意使用del删除dict字典后的结果和用dict.clear()删除字典中的所有元素的结果有何不同,这个可以自己去网上搜索答案
判断是否存在键
使用字典自身的函数dict.has_key(key)来判断是否存在这个键,返回True或者False:
如何遍历字典
使用字典自身的函数dict.keys()来返回一个所有的键的列表,然后用for对这个列表进行循环,循环内部可以利用键来访问值:
改造最多邮编省份名称统计程序
改造统计最多邮编省份名称的程序,将存储统计结果的数据类型改为字典类型 判断是否存在省份名称的键,存在则将统计个数加1,不存在则向字典追加一个列表[省份,个数1] 然后对统计结果字典进行遍历,判断并记录最大个数的那个键 改造后的代码,变得简洁了:
输入一行字符串打印出每个字符出现的次数
程序思路: 模仿上面的程序,针对输入英文字符进行遍历 每个字符判断在统计字典是否存在,存在,则值加1,不存在则赋值为1 遍历统计字典的键,输出个数 大家先不要看下面的代码,自己尝试从零开始编写 代码如下: 结果如下:
课后作业
1.输入一行英文字符,分别统计英文字母/空格/数字/其它字符出现的次数 2.对6个数值进行排序,输出从小到大
学哥量化交易学习团队
   致力于:持续学习,提高认知,磨炼技艺,持续输出高质量的教程和课程,帮助更多的人从零基础学编程并跨过量化程序交易的大门。
零基础学编程Python入门课程
课程包含以下内容:
1.图文教程《零基础学编程入门-从Python到Web网站.pdf》,学哥原创版权,共计1024页高清图文教程。
2.视频课程《零基础学编程Python入门》,学哥原创版权,共计24节课45个高清视频。
3.视频教程《玩转魔方》,学哥原创版权,可以送给孩子,共计16个高清视频。
4.图文教程《如何寻找编程相关的电子书下载资源.pdf》。
5.加入学哥编程学习辅导QQ群在线交流。

客服 10:00-17:00
QQ: 44556287
微信公众号
学哥量化交易学习
 
  微信公众号:学哥量化交易学习     QQ群1:603559164    客服QQ号:44556287
工信部备案/许可证编号:沪ICP备15050545号-4