#!/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 方法总结整理的更多相关文章

  1. IIS6.0 IIS7.5应用程序池自动停止的解决方法 搜集整理

    来源:http://www.guchengnet.com/1499.html IIS6.0 IIS7.5应用程序池自动停止的解决方法 搜集整理 发表于2016年12月14日 有2.3个月没有用本地的i ...

  2. CentOS yum源设定使用方法的整理(转)

    CentOS yum更新了很多版本更新,我本人认为CentOS yum很好使的文件系统,在此向大家推荐CentOS应该是做为服务器的linux的佼佼者.CentOS采用的二进制包是rpm,不过包的依赖 ...

  3. 编程中遇到的Python错误和解决方法汇总整理

    这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下   开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析, ...

  4. 最快安装AndroidStudio的方法(小歪整理)

    最快安装AndroidStudio的方法(小歪整理)-干货,加速加载和解决无法预览布局文件的等问题 最快安装AndroidStudio的方法(小歪整理) 1.使用解压压缩包的方式安装:android- ...

  5. Win32 API中的user32.dll中的ShowWindow方法参数整理

    在使用ShowWindow方法来设置窗体的状态时,由于不知道参数值,用起来非常容易混乱,所以整理了以下其参数的枚举值,方便以后的的使用.   public class User32API { #reg ...

  6. oracle表空间表分区详解及oracle表分区查询使用方法(转+整理)

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  7. Ruby字符串(2):String方法详细整理

    String方法整理 官方手册 类方法 new new(str="") → new_str new(str="", encoding: enc) → new_s ...

  8. 1. AtomicInteger 、Unsafe 及 CAS方法的整理

    本文摘自: https://blog.csdn.net/fanrenxiang/article/details/80623884 http://ifeve.com/sun-misc-unsafe/ h ...

  9. wuzhicms常见函数方法的整理收集

    函数(方法) 含义功能 PHP file_exists() 函数 检查文件或目录是否存在.如果指定的文件或目录存在则返回 true,否则返回 false 五指cms MSG MSG($msg, $go ...

  10. Javascript进阶篇——(DOM—getAttribute()、setAttribute()方法)—笔记整理

    getAttribute()方法通过元素节点的属性名称获取属性的值.语法: elementNode.getAttribute(name) 1. elementNode:使用getElementById ...

随机推荐

  1. 寒假作业第二组C题题解

    这道题题意很简单,主要是练习map的使用.看输入有三个数据,水果名,地名,和出现次数.再看输出,很容易想到map<string,int> string是水果,int是次数,那个地名怎么用m ...

  2. 开发中mybatis的一些常见问题记录

    一.oracle数据库通过mybatis的批量插入的两种方式 方式1 insert into table_tmp (id,v1,v2,v3,v4) SELECT A.*,OSM_VIID_DEVICE ...

  3. jQuery背景插件backstretch使用指南

    http://www.bkjia.com/Javascript/987917.html

  4. jQuery:如何给动态生成的元素绑定事件?

    jQuery的html()可以给现在元素附加新的元素,innerHTML也可以,那么,如何给这些新生成的元素绑定事件呢?直接在元素还未生成前就绑定肯定是无效的,因为所绑定的元素目前根本不存在. 然而, ...

  5. 使用命令行创建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 ...

  6. 在Unity3d中解析Lua脚本的方法

    由于近期项目中提出了热更新的需求,因此本周末在Lua的陪伴下度过.对Lua与Unity3d的搭配使用,仅仅达到了一个初窥门径的程度,记录一二于此.水平有限,欢迎批评指正. 网络上关于Lua脚本和Uni ...

  7. AJPFX关于JDK,JRE,JVM的区别与联系

    很多朋友可能跟我一样,对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的. 今天我们来整理下三者的关系. JDK : Java Development ToolKit(Java开发工具包) ...

  8. Java面向对象(static、final、匿名对象、内部类、包、修饰符、代码块)

    面向对象 今日内容介绍 u final u static u 匿名对象 u 内部类 u 包的声明与访问 u 四种访问修饰符 u 代码块 第1章 final关键字 1.1 final的概念 继承的出现提 ...

  9. 小米OJ刷题日志

    虽然这OJ上的题比较水,但还是挺有意思的.关键是能赚钱 特别是提交方式 居然不支持C++,垃圾OJ 4. 最长连续数列 排序后dp 5. 找出旋转有序数列的中间值 写个排序就做完了. 6. 交叉队列 ...

  10. python的subprocess模块(写的不错留作查询)

    python的subprocess模块 subprocess模块是python从2.4版本开始引入的模块.主要用来取代 一些旧的模块方法,如os.system.os.spawn*.os.popen*. ...