set 方法总结整理
#!/usr/bin/env python
__author__ = "lrtao2010" #Python 3.7.0 集合常用方法 #集合是无序的,元素不能重复,元素只能是数字、字符串、元祖
# a = set('abc')
# print(a)
# {'c', 'a', 'b'} # a = {1,2,3,4,4,'abc',('a')}
# print(a)
# {1, 'abc', 2, 3, 4, 'a'} # a = set(['hello','hello','tom','tom'])
# print(a)
# {'tom', 'hello'} # add(self, *args, **kwargs)
# 向集合中添加一个元素,如果元素在集合中已经存在,可以执行,但不会再次添加
# a = {'a','b','c'}
# a.add(123)
# a.add('a')
# print(a)
# {'c', 123, 'b', 'a'} #clear(self, *args, **kwargs)清空集合
# a = {'a','b','c'}
# a.clear()
# print(a)
# set() #copy(self, *args, **kwargs) 浅复制
# a = {'a','b','c'}
# b = a.copy()
# print(b)
# a.add('d')
# print(a)
# print(b) #pop(self, *args, **kwargs) 随机删除一个元素,并返回该元素,如果集合是空集合,报异常
# a = {'1','a',3}
# v = a.pop()
# print(v)
# print(a)
# a
# {3, '1'} # a = {}
# a.pop()
# print(a)
# a.pop()
# TypeError: pop expected at least 1 arguments, got 0 #remove(self, *args, **kwargs) 删除一个给定的元素,如果集合中没有该元素,报异常 # a = {'a',1,3}
# a.remove('a')
# print(a)
# {1, 3} # a.remove('b')
# a.remove('b')
# KeyError: 'b' #discard(self, *args, **kwargs) 删除一个给定的元素,如果该元素不存在,什么也不做
# a = {'a',1,3}
# a.discard(1)
# a.discard(4)
# print(a)
# {'a', 3} #定义不可变集合
# a = frozenset('Nochange')
# print(a)
# frozenset({'n', 'e', 'c', 'N', 'a', 'g', 'h', 'o'}) #列表去重,不考虑原来顺序
# name = ['tom','lilei','tom','jon','zdk']
# name = list(set(name))
# print(name)
# ['tom', 'jon', 'zdk', 'lilei'] ##########集合关系运算########
# name_1 = {'tom','lilei','jim','jon'}
# name_2 = {'tom','bob','jhon','jon'} #intersection(self, *args, **kwargs)求交集,并返回一个新集合,集合交换位置,结果一样
# name_3 = name_1.intersection(name_2)
# name_3 = name_1 & name_2
# print(name_1,name_2,name_3)
# {'jon', 'tom', 'jim', 'lilei'} {'bob', 'tom', 'jon', 'jhon'} {'jon', 'tom'} #intersection_update(self, *args, **kwargs)
#将原集合修改为两个集合的交集
#name_1.intersection_update(name_2)
# name_1 = name_1 & name_2
# print(name_1,name_2)
# {'jon', 'tom'} {'jon', 'bob', 'jhon', 'tom'} #union(self, *args, **kwargs) 求并集,并返回一个新集合,集合交换位置,结果一样
# name_3 = name_1.union(name_2)
# name_3 = name_1 | name_2
# print(name_1,name_2)
# print(name_3)
# {'tom', 'jon', 'jim', 'lilei'} {'tom', 'bob', 'jon', 'jhon'}
# {'jon', 'jim', 'tom', 'lilei', 'bob', 'jhon'} #update(self, *args, **kwargs)
# 原集合更新为并集,
# name_1.update(name_2)
# print(name_1)
# print(name_2)
# {'lilei', 'jon', 'jim', 'bob', 'tom', 'jhon'}
# {'jhon', 'jon', 'bob', 'tom'} # 也可以用作同时向集合中传入多个值(可以是元祖,列表,字符串(是可迭代对象即可))
#add 方法一次只能加入一个值
# a = {1}
# b = {'a'}
# c = {1,'b'}
# a.update((1,2,3,))
# b.update('abcd')
# c.update(['adb',123,('123',)])
# print(a)
# print(b)
# print(c)
# {1, 2, 3}
# {'c', 'a', 'd', 'b'}
# {1, 'adb', ('123',), 'b', 123} #difference(self, *args, **kwargs)求差集,并返回一个新集合,集合交换位置,结果不一样
# name_3 = name_1.difference(name_2)
# name_4 = name_2.difference(name_1)
# name_3 = name_1 - name_2
# name_4 = name_2 - name_1
# print(name_1,name_2)
# print(name_3)
# print(name_4)
# {'jon', 'lilei', 'jim', 'tom'} {'jon', 'bob', 'jhon', 'tom'}
# {'jim', 'lilei'}
# {'bob', 'jhon'} #difference_update(self, *args, **kwargs)
# 本集合中除去两个集合的交集,原集合被修改
# name_1.difference_update(name_2)
# name_1 = name_1 - name_2
# print(name_1,name_2)
# {'lilei', 'jim'} {'jon', 'jhon', 'bob', 'tom'} #symmetric_difference(self, *args, **kwargs)
# 交叉补集=并集-交集,返回一个新集合,集合交换位置,结果一样
# name_3 = name_1.symmetric_difference(name_2)
# name_4 = name_2.symmetric_difference(name_1)
# name_3 = name_1 ^ name_2
# name_4 = name_2 ^ name_1
# print(name_1,name_2)
# print(name_3)
# print(name_4)
# {'jim', 'lilei', 'jon', 'tom'} {'jhon', 'jon', 'bob', 'tom'}
# {'jim', 'lilei', 'bob', 'jhon'}
# {'jim', 'lilei', 'bob', 'jhon'} #symmetric_difference_update(self, *args, **kwargs)
#原集合修改为交叉补集
# name_1.symmetric_difference_update(name_2)
# print(name_1)
# print(name_2)
# {'jhon', 'lilei', 'jim', 'bob'}
# {'tom', 'jhon', 'bob', 'jon'} #isdisjoint(self, *args, **kwargs)
# 如果两个集合没有交集(交集为空)返回True,集合交换位置,结果一样
# a = {1,2}
# b = {1}
# c = {3} # a_b = a.isdisjoint(b)
# b_a = b.isdisjoint(a)
# a_c = a.isdisjoint(c)
# c_a = c.isdisjoint(a)
# print(a_b,b_a,a_c,c_a)
# False False True True # a = {1,2,3}
# b = {1}
# c = {1,3,5}
#issubset(self, *args, **kwargs)是否为子集
# v1 = a.issubset(b)
# v2 = b.issubset(a)
# v3 = a.issubset(c)
# v4 = b <= a
# print(v1,v2,v3,v4)
# False True False True #issuperset(self, *args, **kwargs)是否为父集
# v1 = a.issuperset(b)
# v2 = b.issuperset(a)
# v3 = a.issuperset(c)
# v4 = a >= b
# print(v1,v2,v3,v4)
# True False False True
set 方法总结整理的更多相关文章
- IIS6.0 IIS7.5应用程序池自动停止的解决方法 搜集整理
来源:http://www.guchengnet.com/1499.html IIS6.0 IIS7.5应用程序池自动停止的解决方法 搜集整理 发表于2016年12月14日 有2.3个月没有用本地的i ...
- CentOS yum源设定使用方法的整理(转)
CentOS yum更新了很多版本更新,我本人认为CentOS yum很好使的文件系统,在此向大家推荐CentOS应该是做为服务器的linux的佼佼者.CentOS采用的二进制包是rpm,不过包的依赖 ...
- 编程中遇到的Python错误和解决方法汇总整理
这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下 开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析, ...
- 最快安装AndroidStudio的方法(小歪整理)
最快安装AndroidStudio的方法(小歪整理)-干货,加速加载和解决无法预览布局文件的等问题 最快安装AndroidStudio的方法(小歪整理) 1.使用解压压缩包的方式安装:android- ...
- Win32 API中的user32.dll中的ShowWindow方法参数整理
在使用ShowWindow方法来设置窗体的状态时,由于不知道参数值,用起来非常容易混乱,所以整理了以下其参数的枚举值,方便以后的的使用. public class User32API { #reg ...
- oracle表空间表分区详解及oracle表分区查询使用方法(转+整理)
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- Ruby字符串(2):String方法详细整理
String方法整理 官方手册 类方法 new new(str="") → new_str new(str="", encoding: enc) → new_s ...
- 1. AtomicInteger 、Unsafe 及 CAS方法的整理
本文摘自: https://blog.csdn.net/fanrenxiang/article/details/80623884 http://ifeve.com/sun-misc-unsafe/ h ...
- wuzhicms常见函数方法的整理收集
函数(方法) 含义功能 PHP file_exists() 函数 检查文件或目录是否存在.如果指定的文件或目录存在则返回 true,否则返回 false 五指cms MSG MSG($msg, $go ...
- Javascript进阶篇——(DOM—getAttribute()、setAttribute()方法)—笔记整理
getAttribute()方法通过元素节点的属性名称获取属性的值.语法: elementNode.getAttribute(name) 1. elementNode:使用getElementById ...
随机推荐
- 寒假作业第二组C题题解
这道题题意很简单,主要是练习map的使用.看输入有三个数据,水果名,地名,和出现次数.再看输出,很容易想到map<string,int> string是水果,int是次数,那个地名怎么用m ...
- 开发中mybatis的一些常见问题记录
一.oracle数据库通过mybatis的批量插入的两种方式 方式1 insert into table_tmp (id,v1,v2,v3,v4) SELECT A.*,OSM_VIID_DEVICE ...
- jQuery背景插件backstretch使用指南
http://www.bkjia.com/Javascript/987917.html
- jQuery:如何给动态生成的元素绑定事件?
jQuery的html()可以给现在元素附加新的元素,innerHTML也可以,那么,如何给这些新生成的元素绑定事件呢?直接在元素还未生成前就绑定肯定是无效的,因为所绑定的元素目前根本不存在. 然而, ...
- 使用命令行创建Android工程报错:"Target id is not valid. Use 'android.bat list targets' to get the target ids"
D:\adt\sdk>cd tools D:\adt\sdk\tools> D:\adt\sdk\tools>android list targets Available Andro ...
- 在Unity3d中解析Lua脚本的方法
由于近期项目中提出了热更新的需求,因此本周末在Lua的陪伴下度过.对Lua与Unity3d的搭配使用,仅仅达到了一个初窥门径的程度,记录一二于此.水平有限,欢迎批评指正. 网络上关于Lua脚本和Uni ...
- AJPFX关于JDK,JRE,JVM的区别与联系
很多朋友可能跟我一样,对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的. 今天我们来整理下三者的关系. JDK : Java Development ToolKit(Java开发工具包) ...
- Java面向对象(static、final、匿名对象、内部类、包、修饰符、代码块)
面向对象 今日内容介绍 u final u static u 匿名对象 u 内部类 u 包的声明与访问 u 四种访问修饰符 u 代码块 第1章 final关键字 1.1 final的概念 继承的出现提 ...
- 小米OJ刷题日志
虽然这OJ上的题比较水,但还是挺有意思的.关键是能赚钱 特别是提交方式 居然不支持C++,垃圾OJ 4. 最长连续数列 排序后dp 5. 找出旋转有序数列的中间值 写个排序就做完了. 6. 交叉队列 ...
- python的subprocess模块(写的不错留作查询)
python的subprocess模块 subprocess模块是python从2.4版本开始引入的模块.主要用来取代 一些旧的模块方法,如os.system.os.spawn*.os.popen*. ...