特征

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. task 定时设置

    每天凌晨2点  0 0 2 * * ?和每天隔一小时 0 * */1 * * ? 例1:每隔5秒执行一次:*/5 * * * * ? 例2:每隔5分执行一次:0 */5 * * * ? 在26分.29 ...

  2. swift - 画图截取图片 - 保存相册

    1.图片截取 func test(addView:UIView) -> UIImage?{ UIGraphicsBeginImageContextWithOptions(CGSize(width ...

  3. java_11接口

    1接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义 ...

  4. coding利用Webhook实现Push代码后的jenkins自动构建

    安装jenkins 篇:http://www.cnblogs.com/loveyouyou616/p/8714544.html 之前部署了持续集成工具jenkins.通常是开发后的代码先推到 远程代码 ...

  5. cherry-pick 命令

    拣选会提取某次提交的补丁,之后尝试将其重新应用到当前分支上. 这种方式在你只想引入特性分支中的某个提交时很有用. 假设你的项目提交历史如下: 如果你希望将提交 e43a6 拉取到 master 分支, ...

  6. apache开启gzip压缩

    1.在httpd.conf中去掉下面的#号 LoadModule headers_module modules/mod_headers.so LoadModule deflate_module mod ...

  7. Comparing Code Playgrounds Codepen, JSFiddle, JS Bin, Dabblet, CSS Deck, and Liveweave

    What is a code playground? Codepen, JSFiddle, JS Bin, Dabblet, CSS Deck, and Liveweave are HTML, CSS ...

  8. (O)js核心:作用域链

    作用域 在一个函数被调用的时候,函数的作用域才会存在.此时,在函数还没有开始执行的时候,开始创建函数的作用域:   函数作用域的创建步骤: 1.函数形参的声明. 2.函数变量的声明. 3.普通变量的声 ...

  9. gerrit管理下的git代码提交小技巧

    1.提交代码git checkout targetbranch 切换至目标分支git pull origin targetbranch 拉取目标分支最新内容git add 修改文件git commit ...

  10. [转载]RPM中SPEC常用路径以及宏变量

    转自:http://blog.csdn.net/txgc1009/article/details/6833764 通过命令rpm --showrc查看实现代码.另外直接通过 rpm --eval &q ...