集合

集合是一个无序的不重复元素序列,可以迭代,也可以修改。集合迭代的时候元素是随机的。

集合通常用来 membership testing, 去重, 也可以用来求交集并集补集。

介绍一下如何创建集合和集合常见的用法。

创建集合

	>>> s1 = set()
>>> print(s1)
set() >>> l1 = [1, 2, 3, 4, 5, 4, 3]
>>> s2 = set(l1)
>>> print(s2)
{1, 2, 3, 4, 5}
#可以看到集合可以用来去重 >>> s3 = set('jwang')
>>> print(s3)
{'n', 'w', 'j', 'g', 'a'}
# 可以看到集合迭代的时候元素是随机的 >>> s4 = set(["C", “C++”, “Python”])
>>> print(s4)
{'C', 'Python', 'C++'}

修改集合

  1. 添加 add

    	>>> print(s2)
    {1, 2, 3, 4, 5}
    >>> s2.add(6)
    >>> print(s2)
    {1, 2, 3, 4, 5, 6}
    >>> s2.add((7,8))
    >>> print(s2)
    {1, 2, 3, 4, 5, 6, (7, 8)}
  2. 更新:通过传入一个列表来更新 update(list)

  	>>> print(s2)
{1, 2, 3, 4, 5, 6, (7, 8)}
>>> s2.update([6, 0])
>>> s2
{0, 1, 2, 3, 4, 5, 6, (7, 8)}
>>> s2.update([7, 8, 9], [10, 11])
>>> s2
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, (7, 8)}
>>>

更新:通过传入一个集合来更新 update(set)

  >>> s2.update({100, 200})
>>> s2
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 200, 100, (7, 8)}
  1. 删除 remove(val) discard(val)


    不同点是remove在元素不存在时会报错,discard什么也不做。

      >>> s2.remove(0)
    >>> s2
    {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 200, 100, (7, 8)}
    >>> s2.discard(0)
    >>> s2.remove(0)
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    KeyError: 0

一些其他方法

	# copy 浅复制
>>> s3 = s2.copy()
>>> s3
{2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 200, 100, (7, 8)}
# clear 清空
>>> s3.clear()
>>> s3
set()
# set pop(),随机删除一个元素,并返回
>>> s = set([1, 2, 3])
>>> s.pop()
1
>>> s
{2, 3}

集合间操作

  1. 交集

    >>> s2 = set([1, 2, 3, 4, 5, 10, 15, 22])
    >>> s1 = set([1, 2, 3, 4, 5, 6, 7, 8])
    >>> s1 & s2
    {1, 2, 3, 4, 5}
    >>> s1.intersection(s2)
    {1, 2, 3, 4, 5}
  2. 求集合的不同

    >>> s1.difference(s2)
    {8, 6, 7}
    >>> s2.difference(s1)
    {10, 22, 15}
  3. 是不是子集

    >>> s3 = set([6, 7, 8])
    >>> s2.issubset(s2)
    True
    >>> s2.issubset(s1)
    False
    >>> s1.issuperset(s3)
    True

python入门 集合(四)的更多相关文章

  1. python入门(四)

    今天主要记录下python中文件的编辑与函数. 一.修改文件 一)简单粗暴--直接修改 1.打开一个文件,获取到所有内容2.对内容进行修改3.清空原来的文件4.把新的内容写进去 f = open('u ...

  2. Python 入门(四)List和Tuple类型

    创建list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...

  3. Python入门(四,高级)

    一,面向对象 面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的. ...

  4. python入门(四):字符串、编码、random

    1.字符串 字符串基本有两种类型,str和bytes >>> s="a" >>> type(s) <class 'str'>     ...

  5. python入门(四):标准输出和文件读写

    Python输出 1.表达式语句 str(): 函数返回一个用户易读的表达形式,可以使用 str.format() 函数来格式化输出值. repr(): 产生一个解释器易读的表达形式. 2.print ...

  6. Python学习系列(四)Python 入门语法规则2

    Python学习系列(四)Python 入门语法规则2 2017-4-3 09:18:04 编码和解码 Unicode.gbk,utf8之间的关系 2.对于py2.7, 如果utf8>gbk, ...

  7. Python基本语法[二],python入门到精通[四]

    在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...

  8. MyBatis基础入门《四》接口方式.Select查询集合

    MyBatis基础入门<四>接口方式.Select查询集合 描述: 在<MyBatis基础入门<二>Select查询>中有说过,SQLSession有两种用法,这里 ...

  9. Python 入门基础5 --元组、字典、集合

    今日目录: 一.元组 二.字典 三.集合 四.后期添加内容 一.元组 1.定义 t1 = () # 参数为for可以循环的对象(可迭代对象) 思考: 如何定义一个只有一个值的元组? ("li ...

随机推荐

  1. 获取微信企业的corpID,sercret,access_token,部门设置列表

    获取微信企业的corpID,sercret,access_token,部门设置列表   zabbix调用微信发短信可能用到的一些变量,获取方式如下: 1.corpID(公司ID) 在我的企业--企业信 ...

  2. HTML标签分类总结

    块级元素和行内元素块级元素address - 地址blockquote - 块引用center - 举中对齐块dir - 目录列表div - 常用块级容易,也是css layout的主要标签dl - ...

  3. 搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

    http://blog.chinaunix.net/uid-20639775-id-154497.html

  4. hive中分隔符‘\001’到底是什么鬼

    答:hive中的默认的是'\001'是一种特由的分隔符 使用的是ascii编码的值,键盘是打不出来的.

  5. SQL server 数据库安装

    一.安装 1.点击setup双击 2.选择第一条-安装一个新的SQLserver 3.一路点击next 4.product Key-选择第一个:试用版 5.setup Role-选择所有 6.sell ...

  6. 组合数学(math)

    组合数学(math) 题目描述 为了提高智商,zjy开始学习组合数学.某一天她解决了这样一个问题:“给一个网格图,其中某些格子有财宝.每次从左上角出发,只能往右或下走.问至少要走几次才能把财宝全部捡完 ...

  7. (转)OpenFire源码学习之十一:连接管理(下)

    转:http://blog.csdn.net/huwenfeng_2011/article/details/43416523 下面是下部分 C2S 1.当有客户端进行连接时根据Mina框架的模式首先调 ...

  8. ASP.NET Core学习——2

    Application Startup ASP.NET Core为应用程序提供了处理每个请求的完整控制.Startup类是应用程程的入口(entry point),这个类可以设置配置(configur ...

  9. windows10安装sqlmap与简单配置

    一.获取sqlmap压缩包: 注意:安装sqlmap之前,先确认已有python2.x环境 获取sqlmap压缩包并解压 下载地址:http://sqlmap.org/ 二.将解压缩的文件放在pyth ...

  10. EF 关键字

    https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/query-keywords 子句 说明 from ...