【引言】如果保持数据有序并不重要而结构很重要,那么可以考虑python中的另外两种内置的无序数据结构——字典和集合。
1.字典的概念
1.python字典允许存储一个键/值对集合。在字典中每个唯一键有一个与之关联的值,字典可以包含多个键/值对。与键关联的value值可以是任意数据类型:int float long list tuple set dict。
2.字典是无序而且可变的。可以把python字典想成一个两列多行的数据结构。与列表类似,字典可以根据需要扩展和收缩。
2.字典的创建
与键关联的value值是int类型:
与键关联的value值是set类型:
与键关联的value值是list类型:
与键关联的value值是dict类型(字典的嵌套):
工厂函数
3.字典的特性
字典不支持索引
字典不支持切片
字典的重复和连接是无意义的,字典的key值是唯一的
成员操作符:判断的是 某个值是否为字典的key
for循环:
1)遍历字典的key值
2)遍历字典
4.字典的增加
1)增加一个元素
a.如果key值存在,则更新对应的value值
b.如果key值不存在,则添加对应的key-value值
2)添加多个key-value值
a.如果key值存在,则更新对应的value值
b.如果key值不存在,则添加对应的key-value值
3)setdefault添加key值:
a.如果key值存在,则不做修改
b.如果key值不存在,则添加对应的key-value值
5.字典的删除
1)del关键字
2)pop删除指定的key的key-value值
a.如果key存在,删除,并且返回删除key对应的value值
b.如果key不存在,直接报错
3)popitem删除最后一个key-value
4)clear清空字典内容
6.字典的修改与查看
查看字典里的key值
查看字典里所有的value值
字典的遍历(2种方法)
7.字典的练习
1)
##重复的单词: 此处认为单词之间以空格为分隔符, 并且不包含,和.;
1. 用户输入一句英文句子;
2. 打印出每个单词及其重复的次数;
2)
##数字重复统计:
1). 随机生成1000个整数;
2). 数字的范围[20, 100],
3). 升序输出所有不同的数字及其每个数字重复的次数;
3)
# 1. 随机生成100个卡号;
# 卡号以6102009开头, 后面3位依次是 (001, 002, 003, 100),
# 2. 生成关于银行卡号的字典, 默认每个卡号的初始密码为"redhat";
# 3. 输出卡号和密码信息, 格式如下:
卡号 密码
6102009001 000000