集合
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.课后练习