集合(set)是一个无序的不重复元素序列。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

①{,,,}

②set(value)

>>> alpha={'a','b','a','c','d','b'}
>>> print(alpha)
{'b', 'd', 'a', 'c'}#去重
>>> 'a' in alpha
True
>>> 'e' in alpha
False
>>> #下面展示两个集合之间的运算
>>> a=set('sunmingyishizhu')
>>> b=set('zyf666')
>>> a
{'z', 'y', 'h', 'u', 'n', 'm', 'i', 's', 'g'}
>>> b
{'z', 'y', 'f', ''}
>>> a-b
{'h', 'u', 'n', 'm', 'i', 's', 'g'}#包含于a但是不包含于b的元素
>>> a|b
{'z', '', 'y', 'f', 'h', 'u', 'n', 'm', 'i', 's', 'g'}#包含于a或b的元素
>>> a&b
{'z', 'y'}#既包含于a又包含于b的元素
>>> a^b
{'', 'f', 'h', 'u', 'n', 'm', 'i', 's', 'g'}#只包含于a或者只包含于b的元素

集合推导式:

>>> a={x for x in 'abcdefg' if x not in 'adf'}
>>> a
{'b', 'e', 'g', 'c'}

集合的基本操作:
1、添加元素

s.add(x)#将x添加到集合中,如果集合中已经存在x,则x不变因为set无序

s.updatex()#可以添加元素,且x可以是列表,元组,字典等

2、移除元素

s.remove(x)#如果x不存在,则会报错

s.discard( x )#不存在不会报错

s.pop()#随机删除一个元素

python语法学习第六天--集合的更多相关文章

  1. python语法学习第六天--字典

    字典:可变容器类型,用键值对的形式采用花括号储存(键唯一) 语法:d={key1:value1,key2:value2} 访问字典中的值: 字典名[键名]#若字典中不存在则报错 更改字典: 添加值:字 ...

  2. python语法学习面向对象之继承

    python语法学习面向对象之继承 转载自:http://www.cnblogs.com/Joans/archive/2012/11/09/2757368.html 只要涉及到面向对象,”类“是必须出 ...

  3. 转 python语法学习面向对象之继承

    传送门 python语法学习面向对象之继承 只要涉及到面向对象,”类“是必须出现的一个代名词. 类和对象是面向对象编程的两个主要方面.类创建一个新类型,而对象是这个类的实例. 类的一些概念: 包括初始 ...

  4. python基础学习第六天

    import os #文件读写 不用自动关闭with open('test.txt','r') as f: #一次性读取所有 data = f.read() #print(data)print('-- ...

  5. python语法学习之函数、类、模块

    Python中通过使用类(class)和对象(object)来实现面向对象(object-oriented programming,简称OOP)的编程. 面向对象编程的最主要目的是提高程序的重复使用性 ...

  6. python语法学习笔记

    函数的参数   定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了.对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来 ...

  7. python语法学习第五天--lambda表达式、filter()、map()

    lambda表达式 python使用lamda表达式来创建匿名函数 lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数 语法: lambda [arg1 [,arg ...

  8. python语法学习第一天--变量、运算符、数据类型

    变量:计算机中的一块内存,给变量赋值意味着将值存入内存中 python中变量不用类型声明(根据赋的值决定类型),但使用时(创建时)必须赋值(=赋值). 多个变量的赋值: ①a=b=c=1; ②a,b, ...

  9. python基础学习1-SET 集合

    # -*- coding:utf-8 -*- set集合 无序不重复的序列 se = {"a","b","c"} #创建SET集合 prin ...

随机推荐

  1. Eureka源码分析

    源码流程图 先上图,不太清晰,抱歉 一.Eureka Server源码分析 从@EnableEurekaServer注解为入口,它是一个标记注解,点进去看 注解内容如下 /** * 激活Eureka服 ...

  2. JavaScript函数作用域和声明提前(3.10.1 page.57)

    <h4>3.函数作用域和声明提前</h4> <p> <!--<script type="text/javascript">-- ...

  3. SQLyog-证书密钥

    * 用户名: + 随意填写 * 秘钥: + b70d7f66-dac2-4462-bf51-c4e9347da763 + ccbfc13e-c31d-42ce-8939-3c7e63ed5417 + ...

  4. 【MyBatis深入剖析】应用分析与最佳实践(下)

    MyBatis编程式开发 MyBatis编程式开发步骤 MyBatis和MySQL Jar包依赖 全局配置文件mybatis-config.xml 映射器Mapper.xml Mapper接口 编程式 ...

  5. 从头学pytorch(十三):使用GPU做计算

    GPU计算 默认情况下,pytorch将数据保存在内存,而不是显存. 查看显卡信息 nvidia-smi 我的机器输出如下: Fri Jan 3 16:20:51 2020 +------------ ...

  6. TP5 JSON对象数组转换为普通数组

    来源于:https://blog.csdn.net/lingchen__/article/details/67671047 使用TP5框架做项目时,对于数据的查询返回的都是对象,虽然也可以当做普通的数 ...

  7. strpos的坑

    $a = 'abcd'; $c = 'a'; echo strpos($a,$c)!==false ? '原来是兄弟' : '非我族类,砍ta';

  8. 2019-2020-1 20199328《Linux内核原理与分析》第八周作业

    笔记部分 2019/11/4 17:55:22 elf文件代码默认加载到0x8048000,然后是一段首部信息,然后到达程序的真实入口 正常的系统调用会先进入内核态->用户态->系统调用下 ...

  9. 虚拟化KVM之优化(三)

    KVM的优化 1.1 cpu的优化 inter的cpu的运行级别,(Ring2和Ring1暂时没什么用)Ring3为用户态,Ring0为内核态 Ring3的用户态是没有权限管理硬件的,需要切换到内核态 ...

  10. Spring Boot filter

    在Spring Boot中自定义filter 本文我们将会讲解如何在Spring Boot中自定义filter并指定执行顺序. 定义Filter很简单,我们只需要实现Filter接口即可,同时我们可指 ...