散列类型(集合,字典)---day07
###存储多个数据,无序,数据不重复
集合:(str)
可以存储(不重复)且(无序)的容器,主要用于数据去重和逻辑判断
#集合名 = {数据1,数据2},如果检测到有重复的数据,那麽就不会把数据存储进集合,且下标概念不适用
#{}里面包含数据(元组,数字,字符串)
str1 = {"1","北洛",123}
str2 = {12312,12312,7,5,5,11,12} #正常输出一个集合,自动去除重复的元素
print(str1,str2)
print(type(str1))
集合1&集合2------->获取交集(数据共有) |
---|
集合1|集合2------->获取并集(两个数据合一,但不重复) |
集合1-集合2------->获取差集(除去两者共有剩余的) |
集合1^集合2------>获取对称差集(返回各自独有的) |
例如:
mini = {"小型","全能","便携"}
name = {"耗能小","快速","小型"}
mini = {"小型","全能","便携"}
name = {"耗能小","快速","小型"}
A = mini & name
B = mini | name
C = mini - name
D = mini ^ name
print(A)
print(B)
print(C)
print(D)
添加元素:
#add随机添加一个数据
mini = {"小型","全能","便携"}
mini.add(("123","故事"))
print(mini)
#update把一个数据类型打散添加到集合
mini.update(["美好","模拟"])
print(mini)
删除元素:
#pop---删除随机数据
mini = {"小型","全能","便携"}
mini.pop()
print(mini)
#mini.remove("需要删除的数据")
mini.remove("小型")
print(mini)
#discard----(删除指定的数据)
mini.discard("便携")
print(mini)
字典:
可以存放元组,字符串,列表,字典,数据类型等都可以
#属性名:描述
#键名:值(key:value)
dict1 = {"姓名":"鱼池诺","年龄":20,"籍贯":"西安"}
#修改 dict1["年龄"] = 21
print(dict1)
print(dist1["姓名"])
声明变量:
list = [] (列表)--->声明一个空列表
tuple = () (元组)--->一个空元组
str = '' (字符串)--->空的字符串
dict = {} (字典)--->默认是字典并非集合
set1 = set() (集合)---->空集合
字典方法:
dict1 = {"作用":"建模",
"年限":123456789,
"尺寸":100000}
#增
#setdefault(键名,值) 如果没有写value值,就会默认为None
dist1.setdefault("时长","永久")
print(dist1)
#删
#dict1.pop("键名")
#dict1.popitem()
dict1.pop("作用")
print(dict1)
#清空字典
dict1.clear()
print(dict1)
#按键名删除
del dict1["尺寸"]
print(dict1)
#改
#update:如果存在键名以及值就进行修改,若不存在就进行添加
dict1.update({"出厂":"2024年"})
print(dict1)
#查
#数据存在就返回,如果不存在就会报错
name = dict1["年限"]
print(name)
name = dict1.get("作用")
print(name)
#获取所有的key
rest = dict.keys()
print(list(rest))
#获取所有的value
rest = dict.items()
print(list(rest))