07-Python散列类型方法
已学类型:
数值类型: 存储一个数值数据
int – 整数,整型
float – 小数,浮点型
bool – 布尔型 True/1 False/0序列类型: 有序的存储多个数据
str – 字符串.用引号包裹字符内容进行保存
list – 列表,用中括号把数据包裹起来.里面的数据可以改变
tuple – 元组,用小括号把数据包裹起来.里面的数据不可改变散列类型:
- 可以存放多个数据
- 内部是无序的(没有下标)
- 内部数据不重复
集合(set)
表现形式
用大括号包裹起来的数据.里面的数据用逗号隔开.
- 无序
- 去重
语法:
集合名 = {数据1,数据2,数据3}
案例:
1 |
|
运算:
集合可以进行简单的逻辑运算符 –> 交并差集
集合1 & 集合2
–> 获取交集集合1 | 集合2
–> 获取并集集合1 - 集合2
–> 获取差集
1 |
|
有两个文件夹.删除里面的同名/重复的文件 –> 通过交集判断. 有哪些文件是两个文件夹里都有的.就属于重复数据
- 集合里面不可以放列表
- 集合的本质:
1. 存储非重复数据 –> 去重
2. 进行逻辑判断,进行交并差集运算
1 |
|
集合的方法
1 |
|
增
add
:
添加一个数据到集合里
集合.add(数据)
1
program.add('Ruby')
update
:
把一个序列类型打散后添加到集合里
集合.update(序列数据)
1
2programe.update('[C,C#]') # 增加{C,C#}
programe.update('ABC') # 增加{A,B,C}1
2
3
4
5
6
7
8
9
10
### **删**
1. pop:
删除一个数据,从最后一个数据开始删
`集合.pop()`
```python
program.pop()remove:
删除指定的数据
集合.remove(数据)
1
program.remove('java')
字典(dict)
表现形式为用大括号包裹起来的数据. 里面的数据用键值对的方式保存. 键值对之间用逗号隔开
键值对
- 键值对:左边的相当于名字.右边的相当于值
- key:value –> 左边是键 中间冒号 右边是值
- 变量名:变量值
注意:
- 键名一般是用字符串/整型来表示
- 值里面什么都可以放. 变量,函数,其他
声明语法:
字典名 = {键:值, 键:值}
案例
1 |
|
- 字典保存的数据比用列表,元组保存的数据看起来更加清晰.
- 要保存的数据.有明显的对照关系.就可以用字典保存.看起来也更清晰明了
字典的输出:
print(字典名)
1 |
|
具体输出print(字典名[键名])
输出该键的值
1 |
|
字典的修改:
字典[键名] = 值
修改指定键的值
1 |
|
字典的特性:
- 字典是通过键值对的方式来获取/保存数据
- 字典里的数据是可以修改,嵌套 (字典里还可以放一个字典)
- 字典里键是唯一的
总结:
用一个看起来更清晰明了的方式来保存/使用数据.
保存方式为键值对
可以把键值理解为变量. 键就是变量名,值就是变量值
声明空变量
1 |
|
字典的方法
增
setdefault
:
添加一个键值对- 新增一个键.值为空
字典.setdefault(键名)
1
zzy.setdefault('性别')
- 新增一个键值对
字典.setdefault(键名,值)
1
zzy.setdefault('性别','♂')
- 新增一个键.值为空
删
pop
:通过键名删除指定的数据
字典.pop(键名)
1
zzy.pop('性别')
popitem
:删除一个键值对.从最后一个数据开始删
字典.popitem()
1
zzy.popitem()
clear
:清空整个字典
字典.clear()
1
zzy.clear()
改
update
:
以键值对的方式修改数据.如果没有就新增- 修改键值对
字典.update({键:值})
1
zzy.update({'年龄':19})
- 如果没有这个键值对.就视为新增
字典.update({键:值})
1
zzy.update({'游戏':'雀魂'})
- 新增多个键值对
字典.update({键:值,键:值})
1
zzy.update({'职业':'学生','身高':114.5})
- 修改键值对
查
get
:
通过键名获取值. 如果没有该键.输出None
字典.get(键名)
1
zzy.get('余额')
keys
:
获取所有的键
字典.keys()
1
zzy.keys()
values
:
获取所有的值
字典.values()
1
zzy.values()
items
:
获取所有的键值
字典.items()
1
zzy.items()