集合
集合关键字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}
'''