第十二课 集合

集合

  • 跟数学中集合的概念一致
  • 内容无序且内容不重复

集合的定义

  1. 通过set关键字
sa = set()
print(sa)
li = [1,2,3,4,5,6,7,8,9,1,2,1,2]
sb = set(li)
print(sb)    # 内容不会重复
  1. 使用大括号
sc = {1,2,3,4,5,6,7,8,9,1,2,1,2,7654,256}
print(sc)   # 内容不会重复

集合的操作

# in 操作
if 2 in sc:
	print(2)
for i in sc:
	print(i)
# 集合的另一种遍历
sa = {(1,2,3),("i","love","wangxiaojing")}
for i, j, k in sa:
	print(i, j, k)  #  和tuple类似

集合的生成式

sa = {1,2,3,4,5,6,7,8,9,10}
sb = {i for i in sa}   # 利用sa生成一个sb
print(sb)
sc = {i for i in sa if i % 2 == 0}  #这个方法很常用,因为可以加判断条件
print(sc)
  • 双重for循环
    把sa中的每一个元素的平方值生成一个新的集合
  1. 用一个for
sd = {i ** 2 for i in sa}
print(sd)
  1. 使用两个for
se = {m * n for m in sa for n in sa}
print(se)

集合的内置函数

# len,长度
st1 = set(range(1,11))
print(len(st1))

# max/min:最大值/最小值
print(max(st1))
print(min(st1))

# add,向集合中添加元素
sa = {1,2,3,4,5,6,5,4,3,2,1}
print(sa)
print(sa.add(7))
print(sa)

# clear ,清空

# 删除操作
# remove和discard的区别
st1 = set(range(1,6))
print(st)
st.remove(5)
print(st)       #remove删除的值如果不在集合中将报错
st.remove(5)
#discard
st = set(range(1,6))
print(st)

st.discard(5)
print(st)      #discard删除的值如果不在集合中不会报错
st.discard(5)

# pop弹出集合的一个内容
# 删除的内容是随机的
sa = {1,2,3,4,5,6,7}
print(sa)
sa.pop()
print(sa)

集合的数学操作

# intersection, 交集
sa = {1,2,3,4,5,6}
sb = {4,5,6,7,8,9}
print(sa.intersection(sb))  # sa和sb的交集

# difference,差集
print(sa.difference(sb))
# 差集的另一种表示
print(sa - sb)

# union ,并集
print(sa.union(sb))
# 并集用+ 会报错
print(sa + sb)

冰冻集合 frozenset

  • 不允许修改的集合
print(sa)
sb = frozenset(sa)
print(sb)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值