46 集合对象的创建与删除

集合(set)属于 Python 无序可变序列,使用一对大括号作为定界符,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一的,元素之间不允许重复。
集合中只能包含数字、字符串、元组等不可变类型(或者说可哈希)的数据,而不能包含列表、字典、集合等可变类型的数据。 Python 提供了一个内置函数 hash() 来计算对象的哈希值,凡是无法计算哈希值(调用内置函数 hash() 时抛出异常)的对象都不能作为集合的元素,也不能作为字典对象的 “键”。

① 直接将集合赋值给变量即可创建一个集合对象。

x = {3, 4, 5, 6, 5}  # 创建集合对象
print(type(x))  # 查看对象的类型
print(x)

在这里插入图片描述

② 可以使用 set() 函数将列表、元组、字符串、range 对象等其他可迭代对象转换为集合,如果原来的数据中存在重复元素,则在转换为集合的时候只保留一个;如果原序列或迭代对象中有不可哈希的值,无法转换为集合,抛出异常。

print(set(range(5, 15)))  # 把range对象转换为集合
print(set([0, 1, 2, 3, 0, 1, 2, 3, 7, 8]))  # 转换时自动去掉重复元素
print(set())  # 空集合

在这里插入图片描述

③ 除了列表推导式、生成器推导式、字典推导式外,Python 还支持使用集合推导式来快速生成集合。

print({x.strip() for x in (' he ', 'she  ', '  I')})

from random import randint

x = {randint(1, 500) for i in range(100)}  # 生成随机数,自动去除重复元素
print(len(x))
print({str(x) for x in range(10)})

在这里插入图片描述

④ 当不再使用某个集合时,可以使用 del 命令删除整个集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我还记得那天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值