特征

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. VS PDB文件

    转 PDB文件 PDB(Program Data Base),意即程序的基本数据,是VS编译链接时生成的文件.DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名.变量名.函数名.FP ...

  2. 41-ssm中对象查找正确但是没有将数据库中某个属性值赋给对象的一个成员变量

    原因: 变量名虽然与 数据库字段一致,但是 包含下划线,如: a_b,数据库确实也是a_b: 但是ssm开启驼峰命名了,就要将变量名改为   aB , 驼峰命名就可以了.

  3. linux下查看项目端口号,杀掉对应端口号的方法

    查看端口号:netstat -anp 结束端口号:sudo iptables -A INPUT -p tcp --dport 8012 -j DROP"

  4. 处理后台向前台传递的json数据

    在pom文件中添加下面三种依赖jar包 <dependency> <groupId>com.fasterxml.jackson.core</groupId> < ...

  5. .net项目错误:找不到方法:“System.Net.Http.HttpClient stellar_dotnet_sdk.Server.get_HttpClient()

    1.由于在项目里面引用了一个 新的项目stellar_dotnet_sdk,在  return new StellarWallet(ConvertToWalletSetting(coin));   的 ...

  6. C# Request.RawUrl与Request.Url的区别

    RawUrl——不包含域名及端口的地址 Url——包含域名,最全

  7. 关于Vector,map等迭代器问题

    vector.erase(it):后,it自动++,一定要弄清楚,删除成功后it指向删除的下一个地址. 对于map.erase(it),返回值为NULL,而Vector是返回itorator

  8. js iterable类型

    遍历Array可以采用下标循环,遍历Map和Set就无法使用下标.为了统一集合类型,ES6标准引入了新的iterable类型,Array.Map和Set都属于iterable类型. 具有iterabl ...

  9. istio分布式调用链Jaeger

    1.安装 kubectl apply -n istio-system -f https://raw.githubusercontent.com/jaegertracing/jaeger-kuberne ...

  10. andorid EditView

    <?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android=" ...