python学习笔记(五)序列的应用——集合

创建集合

创建空集合

empty = set()
print(empty)在这里插入代码片

基于字符串

str_set = set("我喜欢python")
print(str_set)#每次输出顺序不一样,集合的无序性

输出结果

=================== RESTART: C:/Users/86151/Desktop/4.8.py ===================
{'喜', 'p', 'h', 'o', 'n', 't', '欢', '我', 'y'}
>>> 
=================== RESTART: C:/Users/86151/Desktop/4.8.py ===================
{'p', '我', '喜', 'h', 'n', 't', '欢', 'y', 'o'}

基于元组

list_set = set([12,23,445,65,6])
print(list_set)

基于集合

set1 = {21,3,4,5,23,56,7}
print(set1)

练习

姓名 露西 莉莉 韩梅梅 李雷 杰克 露娜
课程 C语言 数据库 数据库 云计算 界面设计 云计算
分数 92 87 98 85 56 60

  1. 创建一个包含姓名的集合
    方法一:通过{}创建集合
name_set = set{"露西","莉莉","韩梅梅","李雷","杰克","露娜"}
print(name_set)

方法二:通过set()创建

name_set = set(["露西","莉莉","韩梅梅","李雷","杰克","露娜"])
print(name_set)
  1. 创建一个包含分数的列表
score_set = ([92,87,98,85,56,60])
print(score_set)
  1. 创建一个空集合
empty = set()
print(empty)
  1. 将分数列表转换为集合
score_set = ([92,87,98,85,56,60])
score2_set = set(score_set)
print(score2_set)

集合的基本操作——增删改查

增加集合元素
1.通过update()函数添加字典元素

set1 = {"12","34","345","11"}
set1.update({"14","18"})
print(set1)

输出结果

{'345', '11', '12', '14', '18', '34'}

2.通过add()函数添加

set1 = {"12","34","345","11"}
set1.add("14")
print(set1)

输出结果

{'12', '345', '14', '11', '34'}

删除集合元素
1.通过pop()函数,删除任意一个元素

set1 = {"12","34","345","11"}
set1.pop()
print(set1)

输出结果

{'12', '34', '11'}

2.通过remove()函数删除指定元素

set1 = {"12","34","345","11"}
set1.remove(11)
print(set1)

输出结果

{'34', '12', '345'}

修改集合中的元素
1.update()添加任意数据类型
语法格式:
setname.update(任意数据类型,不包括布尔类型)

查找集合元素
1.通过成员in判断元素是否在集合中

学生库信息

set_name = set()#定义一个空集合
print("请选择你要完成的操作:   1.添加学生         2.删除学生      3.退出系统")
while True:
    a = int(input("请输入你要完成的操作:"))
    if a == 1: 
        b = input("请输入你要添加的学生姓名:")
        set_name.add(b)
        print("您已添加" + b +"的学生信息!")
        print("您现在的学生库信息有:",set_name)
        
    elif a == 2: 
        c = input("请输入你要删除的学生姓名:")
        set_name.remove(c)
        print("您已删除" + c +"的学生信息!")
        print("您现在的学生库信息有:",set_name)
        
    elif a == 3: 
        break
        print("您已退出系统,感谢您的使用")
        
    else:
        print("输入错误,请重新输入")
        continue

集合的交集,并集,差集,对称差集

交集使用intersection()函数或 & 符号表示:取两者相同部分
语法格式:
newsetname = setname1.intersection(setname2)
或者
语法格式:
newsetname = setname1 & setname2

并集使用union()函数或 | 符号表示:包含重合和不重合的部分
语法格式:
newsetname = setname1.union(setname2)
或者
语法格式:
newsetname = setname1 | setname2

差集使用difference()函数或 - 符号表示:除去两者相同部分,被减数剩下部分
语法格式:
newsetname = setname1.difference(setname2)
或者
语法格式:
newsetname = setname1 - setname2

练习

选择数据库的学生:韩梅梅,李雷,杰克,莉莉
选择python的学生:李雷,露西,韩梅梅,露娜
(1)如何找出既选择了数据库又选择了python的学生?

sql = {"韩梅梅","李雷","杰克","莉莉"}
python = {"李雷","露西","韩梅梅","露娜"}
print("既选择了数据库又选择了python的同学:",sql & python)
print("既选择了数据库又选择了python的同学:",sql.intersection(python))

输出结果

既选择了数据库又选择了python的同学: {'李雷', '韩梅梅'}
既选择了数据库又选择了python的同学: {'李雷', '韩梅梅'}

(2)如何找出所有选课学生的名单?

sql = {"韩梅梅","李雷","杰克","莉莉"}
python = {"李雷","露西","韩梅梅","露娜"}
print("所有选课学生名单:",sql | python)
print("所有选课学生名单:",sql.union(python))

输出结果

所有选课学生名单: {'韩梅梅', '莉莉', '露西', '杰克', '露娜', '李雷'}
所有选课学生名单: {'韩梅梅', '莉莉', '露西', '杰克', '露娜', '李雷'}

(3)如何找出选了python没有选数据库的学生名单?

sql = {"韩梅梅","李雷","杰克","莉莉"}
python = {"李雷","露西","韩梅梅","露娜"}
print("选了python没有选数据库的同学:",python - sql)
print("选了python没有选数据库的同学:",python.difference(sql))

输出结果

选了python没有选数据库的同学: {'露西', '露娜'}
选了python没有选数据库的同学: {'露西', '露娜'}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值