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. How to parse version range

    Now we are making a solution that has to get the package reference. But the version of package refer ...

  2. 关于MySQL中查询大数据量的情况下分页limit的性能优化

    https://blog.csdn.net/weixin_37848710/article/details/80772725

  3. 特殊字符,如Emoji表情Base64存储到数据库

    有些特殊字符,如Emoji,存储到oracle数据库就会变成乱码,解决方案就是Base64转码后存储到数据库,取出后再解码传输,经过验证是可以的. 编码存储,接收参数转json再.ToString() ...

  4. Flutter 添加阴影效果

    Container( width: double.infinity, height: ScreenUtil.getInstance().setHeight(500), decoration: BoxD ...

  5. Keras lstm 文本分类示例

    #基于IMDB数据集的简单文本分类任务 #一层embedding层+一层lstm层+一层全连接层 #基于Keras 2.1.1 Tensorflow 1.4.0 代码: '''Trains an LS ...

  6. 在Android上为所欲为的一些技术

    https://www.jianshu.com/p/87ce6f565d37Android JNI(一)——NDK与JNI基础 https://www.android-doc.com/guide/co ...

  7. python类中的一些神奇方法

    __str__:用于在print(对象)时,直接打印__str__的返回值 class Animal: def __init__(self, name): self.name = name def _ ...

  8. pycharm 设置代码折叠和展开(mac)

    折叠/展开 pycharm设置 点击PyCharm--->Preferences--->Editor--->General--->Code Folding,勾选Show cod ...

  9. $Poj3585\ Accumulation Degree$ 树形$DP/$二次扫描与换根法

    Poj Description 有一个树形的水系,由n-1条河道与n个交叉点组成.每条河道有一个容量,联结x与y的河道容量记为c(x,y),河道的单位时间水量不能超过它的容量.有一个结点是整个水系的发 ...

  10. (httpd、php)2

    (一)再说编译安装httpd2.4 新特性: 1:MPM(多处理模块)支持运行为DSO(动态共享,动态加载模式)机制,以模块形式按需加载,支持动态加载 2:event MPM生产环境可用 3:支持异步 ...