集合

一、关键字 : set

定义是 s = {}    #当里面没有元素的时候​​表现为字典数据类型

s = {}                                  #空的{}代表空的字典,而不是集合
print(type(s))

集合是不可哈希的(可变的),也是无序的(没有索引),集合内的元素​必须是可哈希的(不可变得)。

二、方法:

s = {1,2,3,4,5,6,7,8,9}

增:

.add(元素)​​​       #随记添加在集合的某个位置

.update()         #迭代添加

#添加
s.add('a') #添加指定元素
s.update('alex') #添加可迭代元素

删:

.pop() #随机删除 ,有返回值,删除什么返回什么元素

.clear() #清空集合

del set #删除整个集合​​

.​​remove(元素)​ #删除指定的元素

#删除
s.remove(1) #删除指定元素
s.pop() #随机删除 删除什么返回什么
s.clear() #清空集合
print(s) #字典自动去重

改:​

只能先用remove()把要改的元素删了,在把需要的元素添加进去​​

三、集合的特性:

集合是可以天然去重​​​​! 

例题: lis = [1,2,1,2,1,25,1,5,6,9,8,115,226,11,22,11,22]​用一行代码去重?

    print(list(set(lis)))​       

#将列表转换为集合去重,然后在换回列表即可

四、集合的其他操作:

& 和 intersectiion   #取两个集合的交集 没有交集就返回空集合

|​                             #取两个集合的并集,合并两个集合

s - s1                     #取后面相对于前面的补集​​

s ^ s1                     #反交集,取两个集合不重合的元素​​

s < s1                    #判断s是不是s1的子集

s1 > s                    #判断s1是不是s的父集

.frozenset():           #将集合冻住,即变成不可变得数据(可哈希)

a = frozenset({1,2,3,4})​​​​​​​ #将集合冻住,变成不可变得数据,即可以当字典的键​

dic[a :1]

print(dicup)

python七类之集合的更多相关文章

  1. python七类之字典详解

    一.字典 一.关键字:dict 1.字典是唯一的键值对数据,其表现形式:   dic  =  {键:值},​字典里的键必须保证是唯一的 2.键必须是不可变的数据类型: ​a.故列表是不能当键的 b.所 ...

  2. python七类之整型布尔值

    整型与布尔值 一.关键字:整型 --->int     布尔值----->bool  : True  真  False  假 1.整形和布尔值都是不可变得不可迭代的数据类型 2.整型: 主 ...

  3. python七类之列表元组

    列表 一.关键字:  list  lst = [ , , , , , , ,] lst = [1,2,3,4] 二.方法: 1.增加:​ . append( ) #追加​​​,添加元素进列表最后 ls ...

  4. python七类之字符串

    字符串 一.关键字:str 字符串是不可变的可迭代的数据类型 二.方法: name = 'alex uwu sir' .title #标题 使首字母大写​​ 只要有特殊字符隔开,才能分别认为是多个单词 ...

  5. Python虚拟机类机制之绑定方法和非绑定方法(七)

    Bound Method和Unbound Method 在Python中,当对作为属性的函数进行引用时,会有两种形式,一种称为Bound Method,这种形式是通过类的实例对象进行属性引用,而另一种 ...

  6. python-集合(第二篇(七):集合)

    第二篇(七):集合   python 集合 集合标准操作 摘要: 说明: ·类似于数学中学的集合,Python中的集合可以实现去重的功能,通过set()函数来实现: ·sets支持x in set, ...

  7. 从C#到Python —— 4 类及面向对象

    http://www.cnblogs.com/yanxy/archive/2010/04/04/c2p_4.html 如果你熟悉C#,那么对类(Class)和面向对象(Object Oriented) ...

  8. Python基础-类

    Python基础-类 @(Python)[python, python基础] 写在前面 如非特别说明,下文均基于Python3 摘要 本文重点讲述如何创建和使用Python类,绑定方法与非绑定方法的区 ...

  9. 1.面向过程编程 2.面向对象编程 3.类和对象 4.python 创建类和对象 如何使用对象 5.属性的查找顺序 6.初始化函数 7.绑定方法 与非绑定方法

    1.面向过程编程 面向过程:一种编程思想在编写代码时 要时刻想着过程这个两个字过程指的是什么? 解决问题的步骤 流程,即第一步干什么 第二步干什么,其目的是将一个复杂的问题,拆分为若干的小的问题,按照 ...

随机推荐

  1. new era

    新的博客,将会记录我在工作和学习中遇到的问题以及总结...

  2. Java学习-1

    数组 运算符 包 访问权限 修饰符 数组 1. 数组的声明: int[] a; 2. 数组的创建 使用new运算符数组的创建int[] a = new int[100] 数组的长度不要求是常量:new ...

  3. 安装SCOM Gateway Server

    安装SCOM Gateway Server 1.为SCOM Gateway Server申请证书,导入CA证书链2.将安装介质Support Tools下AMD64下的 Microsoft.Enter ...

  4. ESS控制台发布新功能:创建多实例规格的伸缩配置

    背景 原弹性伸缩ESS服务限定,生效的伸缩配置中只能对应一种实例规格,这样就会存在如果生效的配置中的实例规格的库存不足(高配实例规格通常更容易出现库存不足的情况)时, 用户配置好的伸缩规则以及伸缩组对 ...

  5. Java中面向对象三大特征

    也就是说在这里"人"是多态的, 在不同的形态时,特征行为是不一样的, 这里的"人", 同时有两种形态,一种是教师形态,一种是学生形态,所对应的特征行为分别是&q ...

  6. kafka部分重要参数配置-broker端参数

    broker端参数主要在config/server.properties目录下设置: 启动命令:nohup ./kafka-server-start.sh -daemon ../config/serv ...

  7. BT提权wind2008R2

    昨天中午打开电脑,对着菜刀在那翻啊翻,找到一个64bit的os. 因为这个ip不在曾经提权过的主机列表里面,心想这应该是个低权限的网站,顺手打个whoami试试,结果给我返回了"nt aut ...

  8. JS如何去掉一个数组的重复元素 (数组去重)

    一.思路如下: 定义一个新数组,将老数组遍历一遍,再进行判断,如果新数组里面没有老数组的元素就添加,否则就不添加,最终输出整个新数组. 二.代码如下: var arr = ["a" ...

  9. SVG中的元素属性

    SVG attributes by category Animation event attributes onbegin, onend, onload, onrepeat Animation att ...

  10. BZOJ3697:采药人的路径(点分治)

    Description 采药人的药田是一个树状结构,每条路径上都种植着同种药材. 采药人以自己对药材独到的见解,对每种药材进行了分类.大致分为两类,一种是阴性的,一种是阳性的. 采药人每天都要进行采药 ...