Python:集合类型
概念
无序的,不可随机访问的,不可重复的元素集合
与数学中集合的概念类似,可对其进行相关的运算
集合分为可变集合和非可变集合:set 和 frozenset
定义
可变集合
s = {x1, x2, ......}
s = set(iterable)
集合推导式:类似列表推导式
不可变集合
fs = frozenset(iterable):iterable如果是dict的话,只会提取key作为set的元素
同样也可以使用集合推导式:fs = frozen(......)
注意
- 创建一个空集合时,需要使用set()或者frozen(),不能使用
s={},否则创建的是一个空字典 - 集合中的元素,必须是可哈希的值(暂时理解为不可变类型)
- 如果集合中的元素值出现重复,则会被合并为一个
3 常用操作
单一集合操作
新增
s.add(x)
删除
s.remove(ele):指定删除某个元素,如果没找到,则报错
s.discard(ele):指定删除集合中的一个元素,如果没有这个元素,则什么也不干
s.pop(ele):随机删除并返回集合中的元素,若集合为空,则返回一个错误
s.clear():清空一个集合中的所有元素
修改
元素为不可变类型,不能修改
查询
无法通过索引或者key进行查询
- 通过 for in 进行查询
- 通过迭代器进行访问
不可变集合
不能进行增删改
可以通过for in和迭代器进行访问
集合之间的操作
可变集合与不可变集合混合运算,返回结果类型以运算符左侧为主!
交集
s1.intersection(Iterable)- 注意:
- 字符串:之判定字符串中的非数字
- 字典:只判定 key
- 注意:
s1 & s2intersection_update(...)- 交集计算完毕后,会再次赋值给原对象
- 会更改原对象,所以只适用于可变集合
并集
union():返回集合的并集s1 | s2:符号写法update():更新并集
差集
difference()- 使用符号
- difference_update()
判定
isdisjoint():两个集合是否相交issuperset():一个集合是否包含另一个集合issubset():一个集合包含于另一个集合
补充
。。。。。。其它运算待整理
Python:集合类型的更多相关文章
- Python集合类型的操作与应用
Python集合类型的操作与应用 一.Python集合类型 Python中的集合类型是一个包含0个或多个数据项的无序的.不重复的数据组合,其中,元素类型只能是固定数据类型,如整数.浮点数.字符串.元组 ...
- 代码与图详解性能之Python集合类型(list tuple dict set generator)
Python内嵌的集合类型有list.tuple.set.dict. 列表list:看似数组,但比数组强大,支持索引.切片.查找.增加等功能. 元组tuple:功能跟list差不多,但一旦生成,长度及 ...
- python集合类型
集合类型简介 集合也是容器,其内元素都是无序.唯一.不可变的.它常用来做成员测试.移除重复数据.数据计算(比如交集.并集.差集). 集合Set是dict的无value版.集合也使用大括号包围: > ...
- 遇见Python集合类型
Python目前有两种内置集合类型,set和frozenset. Ⅰ.两者区别 set是可变的,没有哈希值,其内容可以使用add()和remove()这样的方法来改变,所以不能被用作字典的键或其他集合 ...
- python集合类型set
set 类型的简单粗暴取出并集合交集 | & li=[11,22,33] n_li=[44,55] b= (list(set(li)&set(n_li))) b2=set(li) ...
- 《Python核心编程》 第七章 映射和集合类型 - 习题
课后习题 7–1. 字典方法.哪个字典方法可以用来把两个字典合并到一起? 答: dict1 = {' :' python' } dict2 = {' :"hello" } dict ...
- python set type 集合类型的数据介绍 (set frozenset)
python支持数学中的集合概念,如:通过in,not in 可以检查某元素是否在,不在集合中. python有两种集合类型,set(可以变的,不能哈希,不能用作字典的key),frozenset ...
- Python核心编程(第七章)--映像和集合类型
字典:它是一个容器类型,能存储任意个数的Python对象,也包括其他容器类型,Python的字典是作为可变的哈希表实现的 映像类型中的数据是无序排列的 可以用工厂方法dict()来创建字典,也可以 ...
- Python基础-字符串、集合类型、判断、深拷贝与浅拷贝、文件读写
字符串 1.定义三个变量: 2.交换两个变量值 1)引入第三个变量: 2)Python引入第三方变量: 3)不引入第三方变量: 3. isalpha 是否是汉字或字母 4.Isalnum 是否是汉字 ...
- 第二百九十九节,python操作redis缓存-SortSet有序集合类型,可以理解为有序列表
python操作redis缓存-SortSet有序集合类型,可以理解为有序列表 有序集合,在集合的基础上,为每元素排序:元素的排序需要根据另外一个值来进行比较,所以,对于有序集合,每一个元素有两个值, ...
随机推荐
- UNICODE下CString转string
真搞不懂,为毛C++这么多类型转换.. CString m_str(_T("fuck conversion")); char *chr=new char[m_str.GetLeng ...
- Codeforces Round #530 (Div. 2) D. Sum in the tree 树上贪心
D. Sum in the tree 题意 给出一颗树,奇数层数的点有值,值代表从1到该点的简单路的权值的和,偶数层数的点权值被擦去了 问所有节点的和的最小可能是多少 思路 对于每一个-1(也就是值未 ...
- Map.Entry 类使用简介(转)
Map.Entry 类使用简介(转) 你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息.标准的Map访问方法如下: Se ...
- Palindromes _easy version 题解
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串.请写一个程序判断读入的字符串是否是“回文”. Input输入包含多个测试实例,输入数据的第一行是一个正整数n ...
- iview渲染函数
<Table border :columns="discountColumns" :data="discountData.rows"></Ta ...
- Flask 教程 第二十章:加点JavaScript魔法
本文翻译自The Flask Mega-Tutorial Part XX: Some JavaScript Magic 这是Flask Mega-Tutorial系列的第二十部分,我将添加一个功能,当 ...
- Linux之Socket编程
1.什么是Socket? socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模 ...
- dw 快捷键
<html></html> 创建一个HTML文档<head></head> 设置文档标题和其它在网页中不显示的信息<title></t ...
- 很多win10系统用户都遇见了开机发现任务管理器中有个系统中断进程占用cpu99%的问题,
很多win10系统用户都遇见了开机发现任务管理器中有个系统中断进程占用cpu99%的问题,尝试了网上提供的方法都不能得到有效的解决.下面小编就为大家详细的介绍电脑工程师提供的正确的解决姿势. 出现系统 ...
- pgspider http fdw http 相关的几个配置参数
http 请求时间配置 session 级别的 set http.timeout_msec = 10000; SELECT http_set_curlopt('CURLOPT_TIMEOUT', '1 ...