特征

1.确定性(元素必须可hash)

2.互异性(去重)

3.无序性(集合中的元素没有顺序,先后之分)

>>> s = {1,1,1,2,2,3,4,5,6,7}    # 创建
>>> s
{1, 2, 3, 4, 5, 6, 7}
>>> s.add(2) # 添加,重复添加也添加不上
>>> s.add(22)
>>> s
{1, 2, 3, 4, 5, 6, 7, 22}
>>> s.update([11,33,44]) # 添加批量元素
>>> s
{1, 2, 3, 4, 5, 6, 7, 33, 11, 44, 22}
>>> s.discard(7) # 删除指定元素
>>> s.pop() # 删除随机元素,pop()没有参数
1
>>> s.pop(2)
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
s.pop(2)
TypeError: pop() takes no arguments (1 given)
>>> s.clear() # 清空集合
>>> s
set()
>>> s.add(1)
>>> s.copy() # 复制
{1}
>>> s.update([11,33,44])
>>> s
{1, 11, 44, 33}
>>> s.copy()
{1, 11, 44, 33}
>>> s.add([12,13,14]) # 不能添加非 hash 元素
Traceback (most recent call last):
File "<pyshell#22>", line 1, in <module>
s.add([12,13,14])
TypeError: unhashable type: 'list'
>>>

集合关系测试

>>> stu1 = {'python','linux','html','mysql'}
>>> stu2 = {'linux','python','go','css','javascript'}
>>> stu1.intersection(stu2) # 交集,两个集合都有的
{'python', 'linux'}
>>> stu1 & stu2
{'python', 'linux'}
>>> stu1.difference(stu2) # 差集,除了都有的,比后者不同的部分就是差集
{'mysql', 'html'}
>>> stu1 - stu2 # 相同的,负的都去掉,剩下的是差集
{'mysql', 'html'}
>>> stu2 - stu1 # 前者不同于后者的部分
{'javascript', 'go', 'css'} >>> stu1.union(stu2) # 并集,合并两者所有的
{'linux', 'javascript', 'html', 'mysql', 'python', 'go', 'css'}
>>> stu2 | stu1
{'linux', 'javascript', 'python', 'go', 'css', 'html', 'mysql'} >>> stu1.symmetric_difference(stu2) # 对称差集,并集去掉交集
{'javascript', 'go', 'css', 'html', 'mysql'}
>>> stu2 ^ stu1
{'javascript', 'html', 'mysql', 'go', 'css'} >>> stu1.difference_update(stu2) # 将差集,赋给 stu1 同理交集也可以
>>> stu1
{'html', 'mysql'}

python的6种基本数据类型--集合的更多相关文章

  1. python的6种基本数据类型--字典

    python的6种基本数据类型--字典   字典 字典的定义与特性 字典是Python语言中唯一的映射类型. 定义:{key1:value1,key2:value2} 1.键与值用冒号":& ...

  2. Python:6种标准数据类型

    原文地址https://www.cnblogs.com/qin1991/p/5910145.html #!/usr/bin/python3 #python的基本语法和数据类型 #python3中 一行 ...

  3. Python知识点入门笔记——特色数据类型(集合)

    集合是一种不重复的无序集 集合用花括号来定义{} 集合和字典一样,里面的顺序是无序的,{1,2,3}和{3,2,1}是相等的 集合的元素不可重复,也就是说{1,2,2,3}是不存在的,应该写为{1,2 ...

  4. Python的三种基本数据类型

    数字 int(整型) long(长整型),python对长整型没有限制,理论上可以无限大.python3后没有long了. float   字符串   加了引号的都是字符串.   单引号和双引号没有约 ...

  5. python全栈开发笔记---------数据类型-----集合set

    定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可以作为字典的key 1.不同元素组成 2.无序 3.集合中元素必须是不可变类型(数字,字符串,元组) 特性:集合的目的是讲不同的值放到 ...

  6. 10 Python 数据类型—集合

    在Python set是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种.创建集合set.集合set添加.集合删除.交集.并集.差集的操作都是非常实用的方法 ...

  7. python 的几种数据类型

    列表  列表是 Python  的主力数据类型.当提到 " 列表 " 时,您脑海中可 能会闪现" 必须进一步声明大小的数组,只能包含同一类对象 "  等想法.千 ...

  8. python基础数据类型--集合(set)

    python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...

  9. Python数据类型-集合(set)

    1.创建集合 集合的创建不同于前两种数据结构. 集合通过set(iterable)方法创建,参数iterable为可迭代对象. 示例代码: s1 = set('好好学习天天想上') # 将字符串分解为 ...

随机推荐

  1. Qt: 加入打印支持

    写记事本打印功能所遇问题,记录以便于查阅. 在vs系统中开发Qt,加入打印支持,不似在QtCreator之pro文件中中加QT +=printsupport解决. 而要在vs(以vs2015为例)中, ...

  2. django的csrf

    csrf:跨站请求网站 如果是ajax提交,可以按照下面的方式处理 <script src="/static/jq/jquery-3.3.1.js"></scri ...

  3. ztree-持续更新中

    版本v3快速入门: 1,官网下载https://gitee.com/zTree/zTree_v3 2,zTree-zTree_v3-master\zTree_v3下复制css和js文件夹到项目下 3, ...

  4. echarts中间有字饼图Demo2

    echarts链接:http://gallery.echartsjs.com/editor.html?c=xHy2vIPzLQ 完整代码: option = { backgroundColor: 'b ...

  5. linux 备忘录

    1. ps aux|grep 程序 -------->查看当前程序是否运行 ps aux|grep nginx 2. tar -zxvf 压缩包 ---------> 解压缩 tar -z ...

  6. webpack(一) 安装使用

    (一)webpack的安装 webpack是基于node.js,因此需要安装node.js. 安装好node.js 后,全局安装webpack,命令如下 npm install webpack -g ...

  7. windows核心编程

    第一章 函数返回值: void:不可能失败.极少数会返回VOID BOOL:失败返回0 HANDLE:失败会返回NULL 或INVALID_HANDLE_VALUE PVOID:失败返回NULL wa ...

  8. Django TypeError: isinstance() arg 2 must be a type or tuple of types

    报错: TypeError: isinstance() arg must be a type or tuple of types from django.db import modelsfrom dj ...

  9. 9.26 H5日记

    9.26 1.新的背景属性,background-position background-position有两个值,水平和垂直,单位px ❤在html和CSS当中,有三个属性可以向服务器发送请求,分别 ...

  10. poj 2492(关系并查集) 同性恋

    题目;http://poj.org/problem?id=2492 卧槽很前卫的题意啊,感觉节操都碎了, t组测试数据,然后n,m,n条虫子,然后m行,每行两个数代表a和b有性行为(默认既然能这样就代 ...