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("密码输入不正确,必须包含大小写字母,数字和特殊符号")

python之set集合操作的更多相关文章

  1. Python基础-set集合操作

    set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...

  2. python字典与集合操作

    字典操作 字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划.字母来查对应页的详细内容. 语法: info = { 's1': "jack", 's3' ...

  3. 转:Python字典与集合操作总结

    转自:http://blog.csdn.net/business122/article/details/7537014 一.创建字典 方法①: >>> dict1 = {} > ...

  4. (Python基础)集合操作

    集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 以下代码演示了去重,增删改查,以及关系测试供参考学习 ...

  5. python numpy 数据集合操作函数

    arrarray([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])arr1array([0, 1, 2, 3, 4])np.intersect1d(arr,arr1)#计算数组ARR A ...

  6. Python 集合set添加删除、交集、并集、集合操作符号

    在Python中集合set是基本数据类型的一种,它有可变集合(set)和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法. 1. ...

  7. Python之路-python(set集合、文本操作、字符编码 )

    一.集合操作(set)                                                                                          ...

  8. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  9. Python学习笔记-Day3-set集合操作

    set集合,是一个无序且不重复的元素集合.定义方式类似字典使用{}创建 目前我们学过的数据类型: 1.字符串(str),2.整型(int),3.浮点型(float),4,列表(list) 5.元组(t ...

随机推荐

  1. jekyll 在博客添加流程图

    本文告诉大家如何在博客使用流程图. 如果你使用的是我博客的模板,那么就可以直接使用我说的文件,如果是自己的主题,就需要在自己文件对应的地方加上代码. 在我的博客里,需要添加下面的js到博客,可以打开 ...

  2. 关于instanface的问题

    nstanceof关键字来判断某个对象是否属于某种数据类型.报错  代码如下 package cn.lijun.demo3; import cn.lijun.demo.Person;import cn ...

  3. 前端——css属性方法

    目录 标签快捷写法 宽和高 字体 1.文字字体 2.字体大小 3.字体粗细 4.字体颜色 5.字体对齐 6.文字下划线控制 7.文字首行缩进 8.字体英文换大写 背景属性 1.背景颜色 2.背景图片 ...

  4. Excel单元格的日常操作

    通过右键选择插入来移动单元格 灵活的运用"整行" 与 "整列" 选中区域之后 通过点击区域边框进行移动 按住shift之后框会变成线 更容易拖动 按住ctrl拖 ...

  5. 我们基于kaldi开发的嵌入式语音识别系统升级成深度学习啦

    先前的文章<三个小白是如何在三个月内搭一个基于kaldi的嵌入式在线语音识别系统的>说我们花了不到三个月的时间搭了一个基于kaldi的嵌入式语音识别系统,不过它是基于传统的GMM-HMM的 ...

  6. Java_地铁购票系统

    定义了两个类,在Subway类中定义三个私有数据变量,线路号,经过站点,换乘站.以及4个方法分别实现从txt文件中导入线路信息:输出线路信息:查询两个站点经过站点数,并输出经过站点以及在某站换乘几号线 ...

  7. mysql主从之配置验证

    实验环境: master  192.168.132.121 主库 slave     192.168.132.122 从库 一 mysql主从复制的配置 1.1 mysql主库给从库复制的权限 mys ...

  8. 019 Ceph整合openstack

    一.整合 glance ceph 1.1 查看servverb关于openstack的用户 [root@serverb ~]# vi ./keystonerc_admin unset OS_SERVI ...

  9. drop-out栈

    1.drop-out栈能够用来做什么? 在许多提供编辑功能的软件,如word.ps.画图,都会提供“撤销”和“恢复”功能,使用drop-out能够实现这些功能. 2.drop-out栈特性 drop- ...

  10. C# async await 死锁问题总结

    可能发生死锁的程序类型 1.WPF/WinForm程序 2.asp.net (不包括asp.net mvc)程序 死锁的产生原理 对异步方法返回的Task调用Wait()或访问Result属性时,可能 ...