set集合天生具有去重功能

1、创建集合,集合的value类型:string、tuple、frozenset、数字等不可变类型;

 s1 =set()#空集合
s2=set("")
s3=set(["xue","zhi","qian"])
s4={"","","","","","","",""}
print(s1)
print(s2)
print(s3)
print(s4) # 以上打印结果是
set()
{'', '', '', '', '', ''}
{'xue', 'zhi', 'qian'}
{'', '', '', '', '', ''}

2、如果要在许多列表中找出相同的项,那么用集合是最好不过的了,用集合只用一行就可以解决,那就是取交集;例如:

(1)第一种方法:

 s2=set("")
s4={"","","","","","","",""}
print(s2&s4)#取交集 # 以上打印结果是
{'', ''}

(2)第二种方法:

 s3=set(["xue","zhi","qian"])
s4={"","","","","","","",""}
print(s3.intersection(s2))#取交集 # 以上打印结果是
set() #集合s2和s3没有交集,所以结果为set()

3、取并集,就是把两个集合合并到一起去重,例如:

(1)第一种方法:

 s2=set("")
s3=set(["xue","zhi","qian"])
print(s2|s3)#取并集 # 以上打印结果是
{'qian', '', 'xue', '', 'zhi', '', '', '', ''}

(2)第二种方法:

s2=set("")
s3=set(["xue","zhi","qian"])
print(s2.union(s3))#取并集 # 以上运行结果是
{'qian', '', 'xue', '', 'zhi', '', '', '', ''}

4、取差集,就是一个集合中有另一个集合中没有的,例如:

(1)第一种方法:

 s5 ={1,2,3}
s6={1,4,6}
print(s5-s6)#取差集,s5中有,s6中没有的
print(s6-s5)#取差集,s6中有,s5中没有的 #以上运行结果是
{2, 3}
{4, 6}

(2)第二种方法:

 s5 ={1,2,3}
s6={1,4,6}
print(s5.difference(s6))#取差集,s5中有,s6中没有的 #以上运行结果是
{2, 3}

5、对称差集,就是俩集合里面都没有的,例如:

(1)第一种方法:

 s5 ={1,2,3}
s6={1,4,6}
print(s5 ^ s6)#取对称差集 #以上运行结果是
{2, 3, 4, 6}

(2)第二种方法:

 s3=set(["xue","zhi","qian"])
s4={"","","","","","","",""}
print(s4.symmetric_difference(s3))#取对称差集 # 以上运行结果是
{'qian', '', '', '', '', '', '', 'zhi', 'xue'}

6、向集合中增加元素,例如:

 s5 ={1,2,3}
s5.add("ss") #加元素
print(s5) #以上运行结果是
{'ss', 1, 2, 3}

7、删除元素

(1)第一种方法:使用pop()随机删除一个

 s6={1,4,6}
s6.pop()#随机删除一个
print(s6) #以上运行结果是
{4, 6}

(2)第二种方法:使用remove()指定删除哪一个元素,例如:

 s5 ={1,2,3,"SS"}
s5.remove("SS")#指定删除哪个
print(s5) #以上运行结果是
{1, 2, 3}

(3)使用update加入一个集合:

 s4={"","","","","","","",""}
s4.update({1,2,3})#把另外一个集合加进去
print(s4) #以上运行结果是
{1, '', '', 2, '', '', 3, '', ''}

8、使用集合练习:校验密码复杂程序;

 import  string
nums_set = set(string.digits)#数字集合
upper_set = set(string.ascii_uppercase)#大写字母集合
lower_set =set(string.ascii_lowercase)#小写字母集合
pun =set(string.punctuation)#特殊符号集合
for i in range(5):
pwd = input("请输入密码").strip()
pwd_set = set(pwd)
if pwd_set&nums_set and pwd_set&upper_set and pwd_set&lower_set and pwd_set &pun:
print("密码输入正确",pwd)
else:
print("密码输入不正确,必须包含大小写字母,数字和特殊符号")

最新文章

  1. HDU 4292:Food(最大流)
  2. AWK命令学习
  3. [ASP.NET] 结合Web API在OWIN下实现OAuth
  4. ubuntu 修该rm命令使删除文件到回收站
  5. 【学习总结】整理一下int, NSInteger 等概念
  6. Android开发学习
  7. 利用golang语法检查对象是否实现了接口
  8. 学习手机游戏开发的两个方向 Cocos2d-x 和 Unity 3D/2D,哪个前景更好?
  9. 使用U盘进行Linux系统的安装
  10. .Neter玩转Linux系列之四:Linux下shell介绍以及TCP、IP基础
  11. 关于解决微信支付sdk中NoClassDefFoundError: Failed resolution of: org.apache.http.conn.ssl.DefaultHostnameVerifier;
  12. 开发手记:JedisConnectionException: Could not get a resource from the pool
  13. Java编程思想 学习笔记10
  14. sizeof strlen区别于联系
  15. Bootstrap 时间控件datetimepicker与timepicker
  16. centOS 安装 Webmin
  17. TkbmMWFileClient产生的Timeout/error waiting for connection.
  18. HDU 1556 区间查询
  19. HTML5 Canvas ( 文字横纵对齐 ) textAlign, textBaseLine
  20. LoadRunner中Action的迭代次数的设置和运行场景中设置

热门文章

  1. Trendalyzer is an information visualization software
  2. Python安装jpype调用java,安装jaydebeapi通过jdbc连接数据库
  3. [DevExpress]treeList1背景色设置与自定义图标
  4. Java中的选择结构
  5. window10 自带虚拟机输入ip addr 不显示ip,显示字母加数字
  6. 使用windows api函数捕获SAP session的左下角消息句柄
  7. SpringBoot入门简易教程
  8. jenkins+ant+jmeter自动化环境搭建
  9. Javascript用途,语法特点,难点,调试工具,引入方式,命名规范,变量声明及赋值,数据类型,运算符
  10. Java网络编程——UDP聊天程序