python—集合

时间:2021-08-22 09:49:46
ps:非空即真,非0即真(空,0都返回False) 

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

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

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

交集、并集、差集

 s2=set('')
s3={'','','','','','',''} #集合
d={'d':'bn'}         #字典
print(s2) # 交集,并集,差集 # 交集:两个集合相同的地方(.intersection())
print(s2 & s3) #交集(常用) # 并集:两个集合合并到一起,然后去重(.union())
print(s2 | s3) #并集 # 差集:取一个集合存在,另一个集合不存在的元素(.difference())
print(s2 - s3) #差集
# 对称差集:取两个集合里面相同的(.symmetric_difference())
print(s2 ^ s3) s2.add('')#加一个元素
s2.pop()#随机删除一个元素
s2.remove('')#删除指定元素
s2.update({'',''})#把另外一个集合加进去