Python之数据结构-----集合与推导式

本文介绍了Python中的集合类型,强调其不包含重复元素的特性,并通过示例展示了如何定义、添加和删除集合元素。此外,还探讨了Python的推导式,包括列表推导式、字典推导式和集合推导式,阐述了它们在创建无序、无重复元素序列时的作用。

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

集合

Python中有一种内置类型叫做集合(set),它与列表(List)的行为类似,唯一区别在于集合不会包含重复的值。

empty = set()
print("空集合",empty)
number = {1,2,3}
print("数字集合",number)
mix = set([1,"你好",3.14])
print("混合类型集合",mix)

执行结果:

注意:空集合不能使用{ }定义

定义集合:如果是空集合(不包含任何元素的集合),必须使用set()定义;如果包含元素,则可以使用花括号{ }定义集合,也可以使用set+列表来定义。

添加元素:add

number = {1,2,3}
print(number)
number.add(5)
print(number)
number.add(2)
print(number)

执行结果:

add方法添加新元素时,如果新的元素与原来的元素没有重复,则正常添加元素;否则,则不会添加新的元素,保证了元素的唯一性。

删除元素:remove

number = {1,2,3,4,5}
print(number)
number.remove(5)
print(number)
number.remove(8)
print(number)

执行结果:

remove不能用于不存在的元素,如果元素不存在Python解释器会输出错误信息。

Python中的集合可以看成数学意义上的无序和无重复元素的集合,并且可以支持数学意义上的集合操作。

n1={1,3,5}
n2={1,2,3,4}
print("n1",n1)
print("n2",n2)
print("交集",n1 & n2)
print("并集",n1 | n2)
print("差集",n1 - n2)
print("对称差集",n1 ^ n2)

执行结果:

推导式

Python支持三种推导式(解析式),分别对应表、字典和集合。

列表推导式语法:[ for语句+if语句 ]

l1=[x for x in range(5)]
print(l1)
odd=[x for x in range(10) if x % 2 != 0]
print(odd)

执行结果:

range(start,stop[,step])函数可创建一个整数列表,一般用在for循环中。

字典推导式(和列表推导式类似):字典的元素的成对出现的,所以推导式定义的时候也是成对形成键值对。

d1={n:n**2 for n in range(5)}
print(d1)
d2={v:k for k,v in d1.items()}
print(d2)

执行结果:

items()以列表返回可遍历的(键,值)元组数组。

集合推导式:去除重复的元素,使用花括号。

s1={i**2 for i in [-1,-5,1,2,-2]}
print(s1)

 执行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值