集合

0.python通过列表方式找出两个班重名人姓名

# 设置class1和class2 两个列表
class1 = ['Joan', 'Bill', 'Niki', 'Mark', 'Mark']
class2 = ['Tom', 'Linda', 'Bill']

# 循环遍历class1, 其中每个元素都与class2中的元素做比较
for name1 in class1:
    for name2 in class2:
        if name1 == name2:
            print(name1)

 需要两重循环,耗费资源比较大,所以选择集合最好实现

1.集合

 

2.集合创建

创建空集合,使用set(), 不能使用{ },因为大括号Python认为是创建字典

 

 其他类型转换为集合

 

 

 

注意:字典转换为集合后,只保留key, value就被忽略了

 

3.集合访问

集合是无序的,不能使用索引访问,可以使用遍历访问

 

4.集合修改

 add和remove

 

 

5.python通过集合元素找出两个班重名人姓名

#使用并集求两个班重名学生的实现
#首先输入学生数量
num1=int(input('输入班级1的学生数量'))
#创建一个空集合
class1=set()
#使用循环循环录入学生名字
for i in range(0,num1):
    name = input('请输入第%d名学生的姓名'%(i+1))
    class1.add(name)#通过.add方法插入
 
num2=int(input('请输入班级2的学生的数量'))
 
class2=set()
 
for i in  range(0,num2):
    name = input('请输入第%d名学生的姓名'%(i+1))
    class2.add(name)
 
same = class1 & class2
print("重名的学生如下")
for a in same:#循环将same中包含的元素赋给a,由于直接输出将是以集合的方式出现
    print(a)#将集合中选中的元素输出

6.课后练习

 

posted @ 2024-04-03 09:04  szmtjs10  阅读(17)  评论(0编辑  收藏  举报