009-python数据结构-集合

本文深入解析了集合数据结构的特性,包括其无序性、不重复性和可迭代性。详细介绍了可变集合set和不可变集合frozenset的创建、操作及应用场景,通过实例演示了如何使用集合进行数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

集合set 是一种可迭代的、无序的、不能包含重复元素是数据结构。

集合

又分为可变集合set和不可变集合(frozenset)

可变集合

创建可变集合

可变集合类型的 set ,创建可变集合可以使用set([iterable])函数,或者使用大括号{},逗号隔开

a = {'李白','李四','李四'}
len(a) 结果:2
set((10,21,34,12))

要创建空的集合不能使用 {} 表示

b = {}
type(b) 结果:<class 'dist'>

创建空集合要使用:a = set()

修改可变集合

可变集合类似与列表,可以被修改,插入、删除

  1. add(elem):添加元素,如果元素存在就不能添加,不会抛出错误
  2. remove(elem):删除元素,如果元素不存在,会抛出错误
  3. discard(elem):删除元素,如果元素不存在,不会抛出错误
  4. pop():删除集合中的任意一个元素,返回值是删除的元素
  5. clear():清除集合
a = {'李','白','呗'}
a.add('黑')
print(a)
a.remove('黑')
a.remove('黑')
a.discard('黑') 
a.pop()
a.clear()

遍历集合

集合是无序的,没有索引,不能通过下标访问单个元素

for item in a:
print(item)

for i, item in enumerate(a):
print('{0} - {1}'.format(i, item))

此时的 i 不是索引,只是遍历集合的次数

不可变集合

不可变集合类型的frozenset,创建不可变集合应使用frozenset([itemable])函数,不能使用 {}

a = frozenset({'李','白','呗'})
a.add('1')  会报错
b = (1,2,3)
seta = frozenset(b)

集合推导式

集合推导式类似与列表推导式,区别只是输出结果是集合

a_set = {x for x in range(100) if x % 2 == 0 if x % 5 == 0}
a_list = [2,3,2,5,5,5]
n_list = [x ** 2 for x in a_list]
n_set = {x ** 2 for x in a_list} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值