python基础15_散列类型

"""
数据类型学了哪些了
数值类型
int,flaat, bool
序列类型
tuple,list,str
"""

"""
那么今天再学两个数据类型
字典和集合
字典和集合都是散列,那么散列是什么
就是无序的,可以存多个数据的容器,它不重复
"""

"""
集合
"""
set_0 = {"李白", "杜甫", "白居易", "李白"}
"""
集合是没有下标的
"""
print(set_0)  # 打印的时候都是无序的

"""
集合的交并差
"""
a = {1, 2, 33}
b = {2, 34, 4}
c = a | b  # 并集
print(c)
d = a & b  # 交集
print(d)
e = a - b  # 差集
print(e)

"""
集合的去重
"""

list_0 = [11, 11, 11, 23, 24]
list_0 = list(set(list_0))
print(list_0)

"""
前面我们讲了序列的增删改查,对吧
那么散列也有方法去实现增删改查
"""

"增加"
set_1 = {"李白", "杜甫", "白居易", "李白"}
set_1.add("天道酬勤")
print(set_1)
set_1.update("天道酬勤")
print(set_1)
set_1.update((12, 44))
print(set_1)
set_1.update([13, 49])
print(set_1)

"删除"
set_1.pop()  # 随机删除
print(set_1)
set_1.remove("李白")  # 指定删除数据
print(set_1)
set_1.discard(13)  # 指定删除
print(set_1)

"修改某一个值,直接删除这个值,再增加新的值"

set_2 = set_1.__xor__({12, 44, 49, '杜甫', '白居易', '天', "hello"})#获取相同值之外的值
print(set_2)

除了集合这个散列类型,还有一种数据类型是散列,没错就是他--字典

那么我们正式来学一下字典

字典跟集合是一样的,都是无序,存储多个数据,然后不重复

具体长啥样呢?就是键值对的形式

dict_0={'姓名':'张强','身高':180,'体重':130}
"输出指定的值"
print(dict_0['身高'])
dict_0['身高']=170#修改键值对中的值
print(dict_0)
"""
唯一
通过键的方式获取值
可以嵌套
"""
dict_1={'姓名':'张强','身高':180,'体重':130,'洗衣机':{'品牌':'海尔','颜色':'红色'}}
print(dict_1)
"字典可以很清晰地把数据显示出来"

扩展:一系列空序列的创建

str_0 = ""
str_1 = str()
list_0 = []
list_1 = list()
tuple_0 = ()
tuple_1 = tuple()
dict_0 = {}
dict_1 = dict()
set_0 = set()
print(bool(list_0))

回归正文,我们学字典对吧,就是学增删改查,对不对

增加

dict_1 = {'姓名': '张强', '身高': 180, '体重': 130, '洗衣机': {'品牌': '海尔', '颜色': '红色'}}
print(dict_1)
"字典可以很清晰地把数据显示出来"
dict_1['爱好'] = '打游戏'  # 无则增
dict_1["爱好"] = "打王者"  # 有则改
print(dict_1)
dict_1.setdefault('偶像')
print(dict_1)
dict_1.setdefault('特长', '打游戏')
print(dict_1)
dict_1.setdefault('爱好', '学习')
print(dict_1.setdefault('爱好', '学习'))
print(dict_1)
"setdefault这个字典的方法如果里面的参数只有1个那么就是创建一个键,值为空,如果里面的参数有两个,那么就是一个键值对,如果这个键存在就加不进去"
dict_1.update({"座右铭": "天道酬勤", "智商": 105})
print(dict_1)

删除

dict_1 = {'姓名': '张强', '身高': 180, '体重': 130, '洗衣机': {'品牌': '海尔', '颜色': '红色'}}
dict_1.pop('姓名')
print(dict_1)
dict_1.popitem()
print(dict_1)
dict_1.clear()
print(dict_1)

修改

dict_1 = {'姓名': '张强', '身高': 180, '体重': 130, '洗衣机': {'品牌': '海尔', '颜色': '红色'}}
dict_1['姓名']='丹丹'
print(dict_1)
dict_1.update({'姓名':'张三'})
print(dict_1)#update有则改,无则增

 查看

dict_1 = {'姓名': '张强', '身高': 180, '体重': 130, '洗衣机': {'品牌': '海尔', '颜色': '红色'}}
print(dict_1['身高'])
print(dict_1.get('身高'))
print(dict_1.items())
print(dict_1.values())
print(dict_1.keys())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值