集合内置方法

用途:用于关系运算的集合体,由于集合内的元素无序且集合元素不可重复,因此集合可以去重,但是去重后的集合会打乱原来元素的顺序。

定义方式:{}内用逗号隔开多个元素,元素只能是不可变类型(整形、浮点型字符串),且有两个特点:

1、会删除重复的值

2、会打乱集合内的值

wenyi_girlfriend_set = {'fanping', 'zhuping', 'qiangge', 'changyi', 'muzhiguniang1', 'muzhiguniang1','nick'}
zhuping_jiyou_set = {'fanping', 'wenynyi', 'qiange', 'wuzhiguniang'}
print(wenyi_girlfriend_set)
{'fanping', 'nick', 'muzhiguniang1', 'changyi', 'qiangge', 'zhuping'}

自定义set方法

wenyi_freind_list = ['ruhua','suiyue','suiyue']
print(set(wenyi_freind_list))
# def set(wenyi_freind_list):
# s = set()
# for i in wenyi_freind_list:
# s.add(i)
# print(s)
{'suiyue', 'ruhua'}

常用操作和内置方法

长度len

print(len(wenyi_girlfriend_set))
6

成员运算 in 和 not in

print('fanping'in wenyi_girlfriend_set)
True

并集 内置=.union 快捷符号=“|” (两个集合的汇总,必考)

print(wenyi_girlfriend_set.union(zhuping_jiyou_set))
print(wenyi_girlfriend_set | (zhuping_jiyou_set))
{'fanping', 'nick', 'wuzhiguniang', 'muzhiguniang1', 'wenynyi', 'changyi', 'qiange', 'qiangge', 'zhuping'}
{'fanping', 'nick', 'wuzhiguniang', 'muzhiguniang1', 'wenynyi', 'changyi', 'qiange', 'qiangge', 'zhuping'}

交集 内置=intersection 快捷符号=“&” (连个集合的共有的值,必考)

print(wenyi_girlfriend_set.intersection(zhuping_jiyou_set))
print(wenyi_girlfriend_set & (zhuping_jiyou_set))
{'fanping'}
{'fanping'}

差集 内置=difference 快捷符号=“-” (前面集合减去后面集合所剩的值)

print(wenyi_girlfriend_set.difference(zhuping_jiyou_set))
print(wenyi_girlfriend_set - (zhuping_jiyou_set))
{'nick', 'muzhiguniang1', 'changyi', 'qiangge', 'zhuping'}
{'nick', 'muzhiguniang1', 'changyi', 'qiangge', 'zhuping'}

对称差集 内置=symmetric_difference 快捷符号“^”(等于两个集合的汇总再减去两个集合共有的值)

print(wenyi_girlfriend_set.symmetric_difference(zhuping_jiyou_set))
print(wenyi_girlfriend_set ^ (zhuping_jiyou_set))
{'zhuping', 'nick', 'wenynyi', 'muzhiguniang1', 'changyi', 'qiange', 'qiangge', 'wuzhiguniang'}
{'zhuping', 'nick', 'wenynyi', 'muzhiguniang1', 'changyi', 'qiange', 'qiangge', 'wuzhiguniang'}

==

print(wenyi_girlfriend_set == zhuping_jiyou_set)
False

父集 >、>= 、issuperset (A包含B,A>B,则为true,否则为false)

print(wenyi_girlfriend_set > zhuping_jiyou_set)
print(wenyi_girlfriend_set.issuperset(zhuping_jiyou_set))
False
False

子集 < 、<= 、issubset

print(wenyi_girlfriend_set < zhuping_jiyou_set)
print(wenyi_girlfriend_set.issubset(zhuping_jiyou_set))
False
False

add 添加

s={1,2,'a'}
s.add(3)
print(s)
{3, 1, 2, 'a'}

remove 移除

s.remove(2)
print(s)
{3, 1, 'a'}

difference_update (从S1这个集合中删除另一个集合S2的所有元素。)

s1 = {1,2,3,'a'}
s2 = {1,2,'a'}
print(s1.difference_update(s2))
print(s1)
None
{3}

isdisjoint (如果两个集合的交集为空,则返回True。)

print(s1.isdisjoint(s2))
True

存一个or多个值:多个值

有序or无序(有索引为有序,否则为无序):无序

可变or不可变:可变

Python-集合数据类型内置方法的更多相关文章

  1. python常用数据类型内置方法介绍

    熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...

  2. python循环与基本数据类型内置方法

    今天又是充满希望的一天呢 一.python循环 1.wuile与else连用 当while没有被关键'break'主动结束的情况下 正常结束循环体代码之后会执行else的子代码 "" ...

  3. python中其他数据类型内置方法

    补充字符串数据类型内置方法 1.移除字符串首尾的指定字符可以选择方向1: s1 = '$$$jason$$$' print(s1.strip('$')) # jason print(s1.lstrip ...

  4. python字符串常用内置方法

    python字符串常用内置方法 定义: 字符串是一个有序的字符的集合,用与存储和表示基本的文本信息. python中引号中间包含的就是字符串. # s1='hello world' # s2=&quo ...

  5. day07-列表类型/元组类型/字典类型/集合类型内置方法

    目录 列表类型内置方法 元组类型内置方法 字典类型内置方法 集合类型内置方法 列表类型内置方法 用来存多个元素,[]内用逗号隔开任意数据类型的元素 1. list()强制类型转换 print(list ...

  6. day09-2 字典,集合的内置方法

    目录 字典的内置方法 作用 定义方式 方法 优先掌握 需要掌握 存储一个值or多个值 有序or无序 可变or不可变 集合的内置方法 作用 定义方式 方法 存储一个值or多个值 有序or无序 可变or不 ...

  7. while.for循环和基本数据类型内置方法

    while循环补充说明 流程控制之for循环 基本数据类型内置方法 内容详细 1.死循环 真正的死循环是一旦执行,Cpu的功耗会急速上升 知道系统采取紧急措施 所以 尽量不要让cpu长时间不断运算. ...

  8. python字符串处理内置方法一览表

    python字符串处理内置方法一览表   序号 方法及描述 1 capitalize()将字符串的第一个字符转换为大写 2 center(width, fillchar) 返回一个指定的宽度 widt ...

  9. python-字典数据类型内置方法

    字典数据类型内置方法(必考) 用途:存多个值,不通过索引取值,可以用关键字找到对应得值 定义方式:{}内以key:value的方式存储多个值,值与值之间用逗号隔开 lis = ['ruixing', ...

  10. Python反射和内置方法(双下方法)

    Python反射和内置方法(双下方法) 一.反射 什么是反射 反射的概念是由Smith在1982年首次提出的,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力(自省).这一概念的提出很快引发 ...

随机推荐

  1. NowCoder数列

    题目:https://www.nowcoder.com/questionTerminal/0984adf1f55a4ba18dade28f1ab15003 #include <iostream& ...

  2. Tomcat | 修改默认端口

    Tomcat安装目录下 conf 目录下 server.xml 找到 <Connector connectionTimeout="/> 修改其中port值即可

  3. nginx memcache缓存

    1 基本 在一个lnmp架构中,nginx遇到动态资源,会反向代理,把请求发送到后端的php-fpm服务,php-fpm从mysql里读取数据,生产网页,然后返回给client. 如果流量大,php- ...

  4. (转) ACM必备(学完一个就加亮一个)不多,就这些!

    时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理)排序算法(平方排序算法的应用,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排  序,外部排序)数论(整 ...

  5. jmeter(十九)调试工具Debug Sampler

    一.Debug Sampler介绍: 使用Jmeter开发脚本时,难免需要调试,这时可以使用Jmeter的Debug Sampler,它有三个选项:JMeter properties,JMeter v ...

  6. 147 Insertion Sort List 链表插入排序

    用插入排序对链表进行排序. 详见:https://leetcode.com/problems/insertion-sort-list/description/ Java实现: 链表的插入排序实现原理很 ...

  7. LinQ的使用

    LinQ:LinQ to Sql类 它是一个集成化的数据访问类,微软将原本需要我们自己动手去编写的一些代码,集成到了这个类中,会自动生成. LinQ的创建: 添加项——添加新项(LinQ to Sql ...

  8. Node.Js的Module System 以及一些常用 Module

    Node.Js学习就按照这本书的流程来. 在第7章结束与第10章结束时分别自己出一个小项目练练手.Node.Js的入门学习计划是这样. 目录:, QQ:1045642972 欢迎来索书以及讨论Node ...

  9. NIO服务端主要创建过程

    NIO服务端主要创建过程:   步骤一:打开ServerSocketChannel,用于监听客户端的连接,它是所有客户端连接的副管道,示例代码如下:      ServerSocketChannel ...

  10. Java并发——结合CountDownLatch源码、Semaphore源码及ReentrantLock源码来看AQS原理

    前言: 如果说J.U.C包下的核心是什么?那我想答案只有一个就是AQS.那么AQS是什么呢?接下来让我们一起揭开AQS的神秘面纱 AQS是什么? AQS是AbstractQueuedSynchroni ...