课堂笔记9(集合、可变类型不可变类型总结)

集合(set)

集合介绍

集合是一个无序不重复元素的集,基本功能包括关系测试和消除重复元素,是可变数据类型
集合数据类型的核心在于自动去重

集合创建

集合使用{}框定元素,并以逗号进行分隔。

集合的样式: se_1 = {a, b}

s = {ele1, ele2, ele3…}
s = set()
s = set(可迭代对象)

注意⚠️
如果直接 s = {}
创建的是字典(dict)形式。
s1 = set()
这样才是创建了空的集合

同时set()括号内可添加可迭代对象。
s2 = set([1, 2,3,1,2,3,12,3])
打印结果为 {1, 2, 3, 12} 集合自动去重来。
s3 = set(“hello world”)
打印结果为{‘o’, ‘r’, ‘w’, ‘d’, ‘l’, ‘h’, ’ ', ‘e’}可以发现集合是无序排列,并且全部拆开。

在这里插入图片描述

集合添加元素set.add(key)

set.add(key):添加元素到set中
s = set([1, 2, 3, 4, 5])
s.add(3)
会发现没有效果,因为添加的3这个元素在s中原本就存在所以自动去重。

s.add(8)
打印结果发现:{1,2,3,4,5,8}添加成功了。

集合能够容纳各种数据类型
s.add(“amy”)
打印结果{1,2,3,4,5,8,‘amy’}
在这里插入图片描述

注意⚠️
同字典的key值一样只能添加不可变数据类型,列表这样的可变数据类型,会报错。
在这里插入图片描述

集合更新set.update()

set.update()方法:将另一个对象更新到已有的集合中,这一过程同样会进行去重

s = {1,2,3,4,5}
s.update(‘hello’)
打印结果{1,2,3,4,5,‘h’,‘e’,‘o’,‘l’}
在这里插入图片描述

删除元素set.remove(key)/set.pop()

set.remove(key):删除指定元素
s = {1,2,3,4,5}
s.remove(4)
打印结果:{1,2,3,5}

s.remove(“Amy”)
打印结果:报错

小结:remove需要填写元素,就删除指定元素。
但是,如果是不存在的元素则会报错。
在这里插入图片描述

set.pop():随机删除元素(注意:无参数)
s = set(“hello world”)
s.pop()
打印结果:随机显示剩下的元素。同时,随机删除元素。
每次显示的打印结果都不一。

注意⚠️:集合不能取出某个元素,因为集合既不支持下标索引,也不支持字典那样通过键值对获取。
集合是无序的,所以没有下标。

可变、不可变数据总结

可变:改变数据本身,但是内存地址不改变。
不可变:改变数据内存地址会改变。
内存地址查询函数: id()

可变类型

列表(list):下标修改
字典(dict):键值对修改
集合(set):不可修改

不可变类型

数值:整数、浮点数、复数、bool
字符串:可以下标索引。
字节:b‘ ’
元组:(,)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值