1、定义集合
1)集和里面的元素是不可重复的
s= {1,2,4,6,11,3,4,1,2}
print(s,type(s))
2)如何定义一个空集和
s2 = {} ## 默认情况下是dict(字典)
print(s2,type(s2))
s3 =set([])
print(s3,type(s3)
3)集合可以为帮助列表去重
li = [1,2,4,6,1,2]
print(list(set(li))) ##把列表转换成集合,再转换成列表
2、集合的特性
1)集和支持的特性只有 成员操作符(索引 切片 重复 连接 均不支持)
s= {1,2,3}
print(1 in s)
print(4 not in s)
2)for循环
s= {1,2,3}
for i in s:
print(i,end=’’)
print()
print(’~~~~~~~~~~’)
3)for+index
s= {1,2,3}
for i,v in enumerate(s):
print('index: %s,value:%s' %(i,v)) ##查找并对应索引值
3、集合的常用方法
1)添加
s={6,7,8,1,4,5}
s.add(8)
s.add(10)
print(s)
2)增加多个元素
s={6,7,8,1,4,5}
s.update({2,3,10})
print(s)
3)删除
s={1,2,3,4,5}
s.pop() #从前往后删
print(s)
s.pop()
print(s)
4)删除指定元素(元素要存在)
s={1,2,3,4,5}
s.remove(1) ##删除元素1
print(s)
5)并集
s1 ={1,2,3}
s2 ={2,3,4}
print('并集: ',s1.union(s2)) ##表示法1
print('并集: ',s1 | s2) ##表示法2
6)交集
s1 ={1,2,3}
s2 ={2,3,4}
print('交集: ',s1.intersection(s2)) ##表示法1
print('交集: ',s1 & s2) ##表示法2
7)差集
s1 ={1,2,3}
s2 ={2,3,4}
print('差集: ',s1.difference(s2)) ##表示法1,即表示s1中有,s2中没有的
print('差集: ',s1 - s2) ##表示法2
8)对等差分
并集-交集
s1 ={1,2,3}
s2 ={2,3,4}
print('对等差分: ',s1.symmetric_difference(s2)) ##表示法1
print('对等差分: ',s1 ^ s2) ##表示法2
9)子集,超集,相交
s1 ={1,2,3}
s2 ={1,2,3,4}
print(s1.issubset(s2)) ##s1是否是s2的子集
print(s1.issuperset(s2)) ##s1是否为s1的超集
print(s1.isdisjoint(s2)) ##s1,s2是否相交
例子:明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的,对于
其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应着不同的学生的学号,然后再把这些
数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成“去重”与排序工作
import random
s = set([])
for i in range(int(input("请输入N= "))):
s.add(random.randint(1,1001))
print(sorted(s))
例题2: 1). 后台管理员只有一个用户: admin, 密码: admin
2). 当管理员登陆成功后, 可以管理前台会员信息.
3.) 会员信息管理包含:
添加会员信息
删除会员信息
查看会员信息
退出
print('管理员登陆'.center(50,'*'))
inuser = input('Username:')
inpasswd = input('Password:')
users = ['root','westos'] ## 所有会员的用户名
password = ['123','456'] ## 所有会员的密码
if inuser == 'admin' and inpasswd == 'admin':
print('管理员登陆成功')
print('会员管理'.center(50,'*'))
while True:
print("""
*** 操作目录 ***
1. 添加会员信息
2. 删除会员信息
3. 查看会员信息
4. 推出
""")
choice = input('请选择你的操作:')
if choice == '1':
print('添加会员信息'.center(50,'*'))
addUser = input('添加会员名称')
if addUser in users:
print('用户%s已经存在' %(addUser))
else:
addPasswd = input('密码:')
users.append(addUser)
password.append(addPasswd)
print('添加用户%s成功' %(addUser))
elif choice == '2':
print('删除会员信息'.center(50,'*'))
delUser = input('删除的会员名:')
delIndex = users.index(delUser)
users.remove(delUser)
password.pop(delIndex)
print('删除会员%s成功' %(delUser))
elif choice == '3':
print('查看会员信息'.center(50,'*'))
print('\t用户名\t密码')
userCount = len(users)
for i in range(userCount):
print('\t%s\t%s' %(users[i],password[i]))
elif choice == '4':
exit()
else:
print('请输入正确的选择')
else:
print('管理员登陆失败!')