【Python入门】day-8 集合

集合即由一个或多个确定的元素所构成的整体。其使用{}括号,具有无序、唯一的特点。

目录

1、创建集合

2、集合推导式

3、唯一性

4、交并补子超

补 

子  

5、特殊运算符

6、静态集合

7、修改集合


1、创建集合

nums = {1, 2, 3, 4, 5}
print(type(nums))

nums = set("12345")
print(type(nums))

print(nums)

2、集合推导式

格式与列表推导式相同:

nums = {1, 2, 3, 4, 5}
nums_ = {i * 2 for i in nums}
print(nums_)

3、唯一性

nums = set("1122334455")
print(nums)

 利用集合的唯一性,可判断序列是否有重复数:

nums = [1, 2, 3, 4, 5, 5]
if len(nums) == len(set(nums)):
    print("没有重复")
else:
    print("有重复")

4、交并补子超

得出两集合的交集可使用intersection函数:

a = {1, 2, 3, 4, 5}
b = {1, 2}
x = a.intersection(b)
print(x)

可使用isdisjoint函数判断两个集合是否不相关,即没有相同的元素:

a = {1, 2, 3, 4, 5}
b = {0, 1}
x = a.isdisjoint(b)
print(x)
# 结果为False

得出两个集合的并集可使用union函数:

a = {1, 2, 3, 4, 5}
b = {0, 1, 2}
x = a.union(b)
print(x)

补 

使用difference函数可得出b关于a集合的补集:

a = {1, 2, 3, 4, 5}
b = {1, 2}
x = a.difference(b)
print(x)

子  

使用issubset函数可以判断b是否为a的子集:

a = {1, 2, 3, 4, 5}
b = {1, 2}
x = b.issubset(a)
print(x)

超,即超集,子集反过来,使用issuperset函数可判断a是否为b的超集:

a = {1, 2, 3, 4, 5}
b = {1, 2}
x = a.issuperset(b)
print(x)

5、特殊运算符

a = {1, 2, 3, 4, 5}
b = {1, 2}
print(a >= b)
# 真子集
print(a | b)
# 并集
print(a & b)
# 交集

6、静态集合

使用freozenset函数可创建不可修改的集合:

num = frozenset({1, 2, 3, 4, 5})
print(num)

7、修改集合

使用update函数可以修改集合,其以可迭代对象的方式放入集合,即会拆分字符串:

nums = {1, 2, 3, 4, 5}
nums.update({6, 7, 8}, "lwy", "lxy")
print(nums)

使用add函数可给集合加一个对象,即不会拆分字符串:

nums = {1, 2, 3, 4, 5}
nums.add("lwy")
print(nums)

 使用remove函数可删除集合中的指定对象:

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

 

使用pop函数可随机删除集合中的一个对象,其实为删除集合中第一个对象,由于集合是无序的,故称为随机删除:

nums = {1, 2, 3, 4, 5}
nums.pop()
print(nums)

使用clear函数可清空集合:

​​nums = {1, 2, 3, 4, 5}
nums.clear()
print(nums)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值