1.9 集合set

集合

集合关键字set(),存放无序不重复的数据元素,如果有重复的元素,默认去重。

代码示例:

s1 = set()  # 创建一个空集合
print (s1)
print (type(s1))
'''
输出结果:
set()
<class 'set'>
'''

集合也可以使用花括号{}表示。

代码示例:

s2 = {1,1,2,2,3,3}   # 默认会去重
print (s2)
print (type(s2))
'''
输出结果:
{1, 2, 3}
<class 'set'>
'''

使用集合将一个列表中的存放数据元素快速去重。

代码示例:

list1 = [2,1,2,4,3,5,7,6,5]
s3 = set(list1)   # 将一个列表list1快速去重,并排序
print (s3)
'''
输出结果:
{1, 2, 3, 4, 5, 6, 7}
'''

集合也支持增、删、改、查找,以下是集合可以使用的相关函数:
add():向集合中添加一个元素,无序向集合中添加

代码示例:

s1 = set()
s1.add('hello')
s1.add('world')
print (s1)
'''
输出结果:
{'world', 'hello'}
'''

update():向集合中添加多个元素

代码示例:

t1 = ('A','B')   # 定义一个元组
s1.update(t1)    # update()会将元组中的元素拆开存入集合
print (s1)
'''
输出结果:
{'B', 'A', 'hello', 'world'}
'''

remove():删除列表中的元素,如果删除的元素不存在则报错

代码示例:

s1.remove('hello')
print (s1)
'''
输出结果:
{'B', 'A', 'world'}
'''

pop(): 相对于remove()是无序的删除集合中的元素,pop删除集合中的第一个元素

代码示例:

s1.remove('B')
print (s1)
'''
输出结果:
{'A', 'world'}
'''

clear():清空集合所有元素

代码示例:

s1.clear()
print (s1)
'''
输出结果:
set()
'''

'''
使用集合产生10个随机数:
1.产生10个1-20之间的随机数,去除重复数字
2.使用input输入一个数字,实其可以删除集合中的数字
'''
import random
set1 = set()
for i in range(10):
    ran = random.randint(1,20)
    set1.add(ran)
print (set1)

num = int(input ('输出数字:'))
set1.remove(num)
print (set1)

集合使用- & | ^符号实现差、交、并、对称差集运算

代码示例:

s1 = {1,2,5,6}
s1 = {1,2,3,4}

s3 = s1 - s2    # 差集,找出第一集合相对于后一个集合不同的数据元素,也可以使用difference()函数
print (s3)

s4 = s1 & s2    # 交集,找出集合之间相同的数据元素,也可以使用intersection()函数
print (s4)

s5 = s1 | s2    # 并交,将集合合并,默认去重
print (s5)

s6 = s1 ^ s2    # 对称差集,找出集合之间中不一样的元素
print (s6)
'''
输出结果:
{5, 6}
{1, 2}
{1, 2, 3, 4, 5, 6}
{3, 4, 5, 6}
'''
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值