python—集合

ps:非空即真,非0即真(空,0都返回False) 

# 不是空不是0都是真
# 真就继续执行剩余代码
# 假就跳过代码执行下一个条件
# 直接if变量就是判断真假

1 pwd=input('pwd:').strip()
2 if pwd:                 #三种判断为空的方法(直接判断就可以)
3 # if pwd!='':
4 # if len(pwd)!=0:
5     print('输入不为空')
6 else:
7     print('密码不能为空')
集合(set)是一个无序不重复元素的序列。(没有下标)

集合天生可以去重,可以使用大括号 { } 或者 set() 函数创建集合,
注意:创建一个空集合必须用 set()
因为 { } 是用来创建一个空字典
集合是无序的
(1)小练习
 1 import string
 2 pwd=input('pwd:').strip()
 3 p_set=set(pwd)
 4 print('小写字母取',p_set.intersection(string.ascii_lowercase))
 5 print('大写字母取',p_set.intersection(string.ascii_uppercase))
 6 print('特殊字符取',p_set.intersection(string.punctuation))
 7 print('数字取',p_set.intersection(string.digits))
 8 if p_set.intersection(string.ascii_uppercase) \
 9         and p_set.intersection(string.ascii_lowercase)\
10     and p_set.intersection(string.punctuation)\
11         and p_set.intersection(string.digits):#全部取交集
12     print('密码合法')
13 else:
14     print('密码必须包含大写、小写、数字、特殊字符')

交集、并集、差集

 1 s2=set('789456789456789456')
 2 s3={'1','2','3','4','566','4','48'}          #集合
 3 d={'d':'bn'}                            #字典
 4 print(s2)
 5 
 6 # 交集,并集,差集
 7 
 8 # 交集:两个集合相同的地方(.intersection())
 9 print(s2 & s3)   #交集(常用)
10 
11 # 并集:两个集合合并到一起,然后去重(.union())
12 print(s2 | s3)      #并集
13 
14 # 差集:取一个集合存在,另一个集合不存在的元素(.difference())
15 print(s2 - s3)      #差集
16 # 对称差集:取两个集合里面相同的(.symmetric_difference())
17 print(s2 ^ s3)
18 
19 
20 s2.add('111111111')#加一个元素
21 s2.pop()#随机删除一个元素
22 s2.remove('111111111')#删除指定元素
23 s2.update({'1','2'})#把另外一个集合加进去
posted @ 2019-04-18 19:07  localhost;  阅读(233)  评论(0)    收藏  举报