python15 数据类型 集合类型

集合类型
无序的不重复元素序列
集合中只能存储不可变的数据类型
声明集合 使用 {} 定义
与列表,字典一样,都是可变数据类型

代码

        

'''
集合类型
无序的不重复元素序列
集合中只能存储不可变的数据类型
声明集合 使用 大括号{} 定义
与列表,字典一样,都是可变数据类型
集合 和 字典 都是用 大括号{{} 定义,但要注意语法不同
集合声明 语法 list = {1,2,3,4,5}
字典声明 语法 dict = {'name': 'stevenChen','age' : 30, 'sex' : '男'}
集合声明2 语法 list = set(可迭代对象)
集合是序列的一种,所有继承序列的所有功能
'''
# 集合声明方式1
dataList = {10,20,30,40}
print(f'dataList:{dataList}, type={type(dataList)}')

# 创建一个集合
dataList1 = set()
print(f'dataList1:{dataList1}, type={type(dataList1)}')

dataList2 = {}#创建的是集合还是字典,答案是:dict 字典
print(f'dataList2:{dataList2}, type={type(dataList2)}')

# 无序的不重复元素序列,l和o只会出现一次
dataList3 = set('helloworld')
print(f'dataList3:{dataList3}')

s2 = set([100,200,300])
print(f"s2 : {s2}")

s3 = set(range(1,10))
print(f"s3 : {s3}")

# 集合是序列的一种,所有继承序列的所有功能
print(f'最大值:{max(s3)}')
print(f'最小值:{min(s3)}')
print(f'长度:{len(s3)}')

print(f'9 存在吗?{9 in s3}')
print(f'9 不存在吗?{9 not in s3}')

# 集合的操作符: 交集 &,并集 |,差集 -,补集 ^
s4 = {10,20,30,40,50}
s5 = {30,50,88,76,20}
# 交集 &,只找到两个集合中相同的元素
print(f'交集:{s4 & s5}')
# 并集 |,全部合在一起去除重复元素
print(f'并集:{s4 | s5}')
# 差集 - , 找出 S4 集合中的元素在S5集合中不存在的元素,以左边集合为主,找不左边集合中多出来的
print(f'差集:{s4 - s5}')
# 补集 ^ ,找出两个集合中不相交的部分,就是找出两个集合中不重复的元素
print(f'补集:{s4 ^ s5}')

# 相关操作
# 添加元素
s4.add(100)
print(f'添加元素:{s4}')

# 删除元素,注意不存在会报错
s4.remove(20)
print(f'删除元素:{s4}')

# 删除前判断一下
if 20 in s4:
    s4.remove(20)
    print(f'删除元素2:{s4}')
else:
    print(f'删除元素2:元素不存')
# 遍历
for item in s4:
    print(f'for item :{item}')

for no,item in enumerate(s4):
    print(f'for enumerate no:{no},item:{item}')
# 集合没有索引,所以下面这种方法不能用
# for index in range(0,len(s4)):
#     print(f'for index:{index},item:{s4[index]}')

# 清空
s4.clear()
print(s4)

# 集合的生成式
print('集合的生成式')
s6 = {i for i in range(1,10)}
print(s6)

s7 = {i for i in range(1,10) if i%2==1}
print(s7)

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

StevenChen85

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

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

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

打赏作者

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

抵扣说明:

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

余额充值