大数据最新2024年最新Python大数据之Python基础【五】(集合)

本文讲述了在Python中,由于集合元素要求可哈希性,字典键和集合元素不能包含列表、字典等不可哈希类型。文章详细介绍了集合的增加、删除和判断操作,以及注意事项。同时强调了系统化学习的重要性,鼓励读者在IT技术领域深入探究和合作成长。
摘要由CSDN通过智能技术生成

set6 = {1, 12.3, True, 0, False, ‘’, (1, 2)}
print(set6)

TypeError: unhashable type: ‘dict’

字典类型无法用集合储存

set6 = {1, 12.3, True, 0, False, ‘’, {1:2}}

TypeError: unhashable type: ‘set’

集合类型同样不能使用集合嵌套

set6 = {1, 12.3, True, 0, False, ‘’, {1,2}}

结论:列表 字典 集合,不能放入集合中,作为元素出现

拓展:不能作为集合元素的数据类型,同样不能作为字典的键出现

dict1 = {(1, 2): 3}
print(dict1)

TypeError: unhashable type: ‘list’

列表 字典 集合不能作为字典的键出现

dict2 = {[1, 2]: 3}
print(dict2)


### 16、集合的相关操作


* 集合的增加
	+ add:添加一个元素,如果值已存在,则去重
	+ update: 更新元素(在括号中添加可迭代类型),如果值已存在则去重



add 增加

set1 = {1, 2, 3, 4}

set 在使用add命令后,不会产生新的数据,而是原集合中进行修改

set1.add(5)
print(set1) # {1, 2, 3, 4, 5}

update 更新

TypeError: ‘int’ object is not iterable

update内部只能填写容器类型(数据序列)

set1.update(6)

set1.update([6, 7])
print(set1) # {1, 2, 3, 4, 5, 6, 7}

如果更新的数据已经存在,则去重

set1.update([1,2])
print(set1) # {1, 2, 3, 4, 5, 6, 7}


* 集合的删除
	+ remove:根据元素值进行删除,如果元素不存在则报错
	+ discard:根据元素值进行删除,如果元素值不存在则不报错
	+ pop:删除任意元素,并返回被删除的值



remove

set1 = {1, 2, 3, 4}

使用remove可以删除指定值的元素

set1.remove(3)

print(set1) # {1, 2, 4}

pop 随机删除一个元素,并且将删除的元素返回

print(set1.pop())

print(set1)

discard

如果使用remove删除的元素不存在会怎样? 报错

set1.remove(13) # KeyError: 13

如果使用discard删除元素呢? 不会报错

set1.discard(3)
print(set1) # {1, 2, 4}
set1.discard(13)
print(set1)


* 集合判断:
	+ in
	+ not in



数据是否在集合中

set1 = {1, 2, 3, 4}

in 判断元素是否在集合中出现

print(4 in set1) # True
print(5 in set1) # Fasle

not in 判断元素是否不在集合中

print(4 not in set1) # False
print(5 not in set1) # True

注意:格式 元素 in 集合

判断的数据必须要在集合中能够被储存

TypeError: unhashable type: ‘list’

print([1, 2] in set1)


* 集合可以使用for循环遍历,但是遍历顺序随机



for 遍历

set1 = {1, 2, 3, 4}
for i in set1:
print(i)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

ics/618545628)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值