大家好我是程序员_蓝天, 本文是为了方便初学者能够快速学习python,写的可能不是很好,希望大家多多包涵。 每个赞都是我前进的动力。
散列类型的特性:
可以存放多个数据
散列类型内部是无序的
内部的数据是不重复
初识集合(set)
集合(set) --> 保存一些{不重复}的数据,并且是{无序存储}的容器. 主要功能是1.去重 2.逻辑判断
表现形式:
用大括号{}包裹起来的数据,里面的数据用逗号,隔开
语法:
集合名 = {数据1,数据2,数据3}
set1 = {465,True,'你好'}
set1 = {1,2,3,4,5,1,1,70,6,3,4}
print(set1) # 正常输出一个集合.里面的重复元素都被去掉了
print(set1[1]) # 会报错,散列类型是无序的,没有下标这个概念
print(type(set1))
集合的逻辑运算:
集合1 & 集合2 --> 判断交集
集合1 | 集合2 --> 判断并集
集合1 - 集合2 --> 判断差集
& --> shift + 7
| --> shit + \
- --> 减号
交集 --> 一个数据,两个集合里都有
并集 --> 两个集合里的所有数据(不算重复的)
差集 --> 一个集合与另一个集合相比,它独有的(集合a独有的.并集去集之后的就是差集)
set1 = {1,2,3}
set2 = {3,4,5}
print(set1 & set2) # 交集3
print(set1 | set2) # 并集 1,2,3,4,5
print(set1 - set2) # 差集 1,2
你有两个文件夹,里面有很多数据,也有很多同名的重复数据 --> 通过交集判断找出里面的重复数据,就可以清理掉
集合里面不可以放列表!!!
集合的本质:
1.存储非重复的数据 --> 去重
2.进行逻辑判断,集合运算 交并差,父子超
http://c.biancheng.net/view/4400.html
类型转换:
set(数据) # 把数据转换为set类型
小练习: 列表去重
li = [1,2,3,4,70,520,1,2,3]
li = set(li) # 把列表li转换为集合,去重
li = list(li) # 把去重过后的集合li,重新转为列表
# li = list(set(li))
print(li)
集合的方法
set1 = {1,2,3}
增:
add: 添加一个数据
集合名.add(数据)
set1.add(70)
删:
pop: 删除一个元素,从第一个元素开始删
集合名.pop()
set1.pop()
remove: 删除一个指定元素
集合名.remove(数据)
set1.remove(70)
改:
update: 把一些序列类型的数据,打散并添加到序列类型里
集合名.update(序列类型)
set1.update('多穿衣服')
把一个序列类型的数据,拆分后添加到集合里.里面的数据会被打乱
初识字典(dict)
字典(dict)是用来保存一些有明显'对应说明关系'的数据,它用键值对的方式来保存数据
新华字典用法: 找到一个,并获取它的描述
帅:形容一个人长得好看
富:形容一个人很有钱
属性名:描述
属性:描述 --> 键值对
键:值 --> 键相当于是名字 值就是值,描述
key:value --> 键值对
'姓名':'七零' --> 右边的数据是对左边键的描述
字典的表现形式为:
用大括号{}包裹起来的数据,数据用键值对的方式来保存,数据直接用逗号隔开
z = {
'name':'蓝天',
'age':18,
'height':177.5,
'money':888.88
}
字典名 = {键1:值1,键2:值2}
键值对 键:值 'age':18
比起列表和元组.字典有啥优势?
z = ['z',18,177.5,True,632.6] # 不加注释,过阵子看不懂里面的数据分别表示啥了
输出方式:
print(字典名)
print(字典名[键名])
print(z) # 输出整个字典
print(z['name']) # 输出键盘里.键为'name'的'值'
修改方式:
字典名[键名] = 值 # 修改这个键的值
z['age'] = 26
字典的特性:
1.通过键值对的方式来存值,取值.而不是通过下标
2.字典里面的数据是可以改变的,并且可以嵌套(字典里面可以再放一个字典,作为值)
3.键名是唯一的
字典的好处就是比起别的类型,它存储的数据会更清晰!!!
本质:
用一个更好的方式存储一些特定的数据,数据之间存储有一个解释说明的关系.键值对
声明空变量
str1 = '' # 声明一个空的字符串
li1 = [] # 声明一个空的列表
tu1 = () # 声明一个空的元组
dict1 = {} # 声明一个空的字典
set1 = set() # 声明一个空的集
字典的方法:
z = {
'zname':'蓝天',
'age':18, z
'height':177.5,
'money':888.88
}
增:
setdefault: 给字典添加一个数据,如果已经有这个数据了,就输出他
1.新增一个键,值为空
字典名.setdefault{键名}
z.setdefault('性别')
2.新增一个键值对
字典名.setdefault{键名,值}
kylin.setdefault('存款',520.88)
3.新增一个键,但那个键已经有了,改为输出
字典名.setdefault{键名}
z.setdefault('性别')
删:
pop: 通过键名,删除指定的数据
字典名.pop(键名)
z.pop('height')
popitem: 直接删除一个键值对,从最后键值对开始删
字典名.popitem()
z.popitem()
clear: 清空字典
字典名.clear()
z.clear()
改:
update: 修改键的值,如果没有这个键,就新增一个
1.正常修改键的值
字典名.update({键:值})
z.update({'性别':'男'})
2.修改一个值,没有找到这个值,那就新增一个
字典名.update({键:值})
z.update({'体重':'110斤'})
3.新增多个键值对
字典名.update({键:值,键:值})
z.update({'工作':'python讲师','家乡':'广东'})
查:
get: 通过键名,获取键值.如果没有找到这个键,返回None,不会报错
字典名.get(键名)
z.get('工作')
keys:获取所有的键
字典名.keys()
z.keys()
values:获取所有的值
字典名.values()
z.values()
items: 获取所有的键值对
字典名.items()
z.items()