#!/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. python的入门1(补发)

    一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时间,决心开发一个新的脚本解 ...

  2. Jmeter4.0----测试数据说明之查看结果树(10)

    1.说明 在用jmeter辅助测试的过程中,我们经常需要根据接口返回的相关信息对我们测试的系统做相应的分析,所以呢,常常会用到jmeter中不同类型的监听器获取接口信息. 2.步骤 第一步: 线程组 ...

  3. docker jetty启动时报错 failed setting default capabilities.

    docker 容器中jetty启动fail ,查看/var/log/jetty中的日志发现具体错误信息如下: failed setting default capabilities.set_caps( ...

  4. 微信小程序tabBar显示问题

    在微信小程序的开发中,我遇到疑惑如下: 在app.json中定义了多个pages,一般微信小程序启动的时候,自动加载pages下的第一个页面, "pages": [        ...

  5. LR脚本示例之常用函数

    1.变量和参数的设置 //将IP地址和端口放入到参数中lr_save_string("127.0.0.1:1080","ip"); //退出脚本建议使用lr_e ...

  6. Literals

    Uppercase or lowercase L means long (however, using a lowercase l is confusing because it can look l ...

  7. 3D模型预处理(格式转换:obj转换为gltf)

    在cesium中导入模型需要的是gltf或glb格式的文件,cesium官方提供了obj转gltf文件的工具,一个obj2gltf的库,地址为https://github.com/Analytical ...

  8. 10款免费的MySQL数据库图形化管理工具

    绝大多数的关系数据库都明显不同于MS Access,它们都有两个截然不同的部分:后端作为数据仓库,前端作为用于数据组件通信的用户界面.这种设计非常巧妙,它并行处理两层编程模型,将数据 层从用户界面中分 ...

  9. 11gR2 Agent 简介

    目的:本文会对oracle 11gR2 集群件(Grid Infrastructure,以下简称GI) 新特性 agent进行介绍,包括 agent的功能,常见的agent介绍,以及基本的诊断方法. ...

  10. oracle的clob转换varchar2

    time: 2008/02/29 author: skate oracle的clob转换varchar2 今天在做一个表的数据转移的时候,发现要他通过比较clob字段,但大家都知道clob字段是无法比 ...