集合之交集并集差集

'''
1.产生10个1-20的随机数,去除里面的重复项
2.键盘输入一个元素,将此元素从不重复的集合中删除
'''
import random
list1=[]
set1=set()
for i in range(10):
    ran=random.randint(1,20)
    list1.append(ran)
set1.update(list1)
print(list1)
print(set1)
num=int(input('请输入一个数字:'))
set1.discard(num)
print('删除之后的结果:',set1)

执行结果:

[9, 9, 3, 19, 14, 19, 11, 3, 14, 8]
{3, 8, 9, 11, 14, 19}
请输入一个数字:8
删除之后的结果: {3, 9, 11, 14, 19}

方式二:

set1=set()
for i in range(10):
    ran=random.randint(1,20)
    set1.add(ran)
print(set1)
num=int(input('请输入一个数字:'))
set1.discard(num)
print('删除之后结果:',set1)
#其他:符号操作
print(6 in set1)
set2={2,3,4,5,6}
set3={2,3,4,5,6,7}
print(set2==set3)  #判断两个集合中的内容是否相等
#测试:print(set2!=set4)
#  +  *  -  & |
# set4=set2+set3
# print(set4)       #TypeError: unsupported operand type(s) for +: 'set' and 'set'
# set5=set2*set2
# print(set5)     #TypeError: unsupported operand type(s) for *: 'set' and 'set'
set4=set2-set3
print(set4)   #差集  difference

set5=set3.difference(set2)
print(set5)

#  &交集  intersecction

set6=set3&set2
print(set6)
set7=set3.intersection(set2)
print(set7)
#  |  并集  union()   联合
set8=set3|set2
print(set8)
set9=set3.union(set2)
print(set9)

执行结果:

{1, 2, 3, 5, 10, 14, 17, 18}
请输入一个数字:3
删除之后结果: {1, 2, 5, 10, 14, 17, 18}
False
False
set()
{7}
{2, 3, 4, 5, 6}
{2, 3, 4, 5, 6}
{2, 3, 4, 5, 6, 7}
{2, 3, 4, 5, 6, 7}
在这里插入代码片
发布了41 篇原创文章 · 获赞 1 · 访问量 681

猜你喜欢

转载自blog.csdn.net/qq_41543169/article/details/105398164