Python开发——数据类型【集合】
集合的定义
由一个或多个确定的元素所构成的整体
可变集合
s=set('hello')
print(s) # {'e', 'l', 'o', 'h'}
s=set(['alex','alex','Lucy'])
print(s) # {'alex', 'Lucy'}
s = {1,2,3,4,5,6,7}
print(s)
不可变集合
s = {1,2,3,4,5,6,7}
print(s) # {1, 2, 3, 4, 5, 6, 7}
# 改为不可变集合
fs = frozenset(s)
print(fs) # frozenset({1, 2, 3, 4, 5, 6, 7})
集合的特性
1、确定性(元素必须可hash)
2、互异性(去重)
3、无序性(集合中的元素没有先后之分,如集合{3,4,5}和{3,5,4}算作同一个集合)
注:集合存在的意义:去重和关系运算
去重
p_li = [1,2,3,4,3,5]
# 去重
p_s = set(p_li)
print(p_s) # {1, 2, 3, 4, 5}
集合的关系运算
p_s1 = {'张三','王五','李四'}
p_s2 = {'李四','王五','赵六'}
# 交集
print(p_s1.intersection(p_s2)) # {'李四', '王五'}
print(p_s1&p_s2) # {'李四', '王五'}
# 并集
print(p_s1.union(p_s2)) # {'张三', '李四', '王五', '赵六'}
print(p_s1|p_s2) # {'张三', '李四', '王五', '赵六'}
# 差集【A-交集】
print(p_s1.difference(p_s2)) # {'张三'}
print(p_s1-p_s2) # {'张三'}
# 对称差集【并集-交集】
print(p_s1.symmetric_difference(p_s2)) # {'赵六', '张三'}
print(p_s1^p_s2) # {'赵六', '张三'}
# A更新为交集
# p_s1.intersection_update(p_s2)
# A更新为差集
# p_s1.difference_update(p_s2)
# A更新为对称差集
# p_s1.symmetric_difference_update()
# print(p_s1)
集合的内置函数
常见
s = {1,2,3,4,5,6,7}
print(s) # {1, 2, 3, 4, 5, 6, 7}
# 添加
s.add('a')
print(s) # {1, 2, 3, 4, 5, 6, 7, 'a'}
# 清空
s.clear()
print(s) # set()
s = {1,2,3,4,5,6,7}
# 随机删除
s.pop()
print(s)
s = {1,2,3,4,5,6,7}
# 指定删除,若无报错
s.remove(5)
print(s)
s = {1,2,3,4,5,6,7}
# 指定删除,若无不报错
s.discard(8)
print(s)
补充
s = {1,2}
print(s) # {1, 2}
# 单个元素的增加
s.add(3)
print(s) # {1, 2, 3}
# 多个元素的增加
s.update([3,4],[7,8])
print(s) # {1, 2, 3, 4, 7, 8}
s.update('hello')
print(s) # {1, 2, 3, 4, 'o', 7, 8, 'e', 'l', 'h'}
其他
p_s1 = {'张三','王五','李四'}
p_s2 = {'李四','王五','赵六'}
# 判断两个集合是不是相交
print(p_s1.isdisjoint(p_s2))
# 判断集合是不是包含其他集合
print(p_s1.issuperset(p_s2))
# 判断集合是不是被其他集合包含
print(p_s2.issubset(p_s2))
Python开发——数据类型【集合】的更多相关文章
- python基础数据类型--集合(set)
python基础数据类型--集合(set) 集合是一个数学概念由一个或多个确定的元素所构成的整体叫做集合 集合中的三个特征 1.确定性(元素必须死可hash) 2.互异性(去重) 3.无序性(集合中的 ...
- Python开发——数据类型【字符串】
字符串定义 字符串是一个有序的字符的集合,用于存储和表示基本的文本信息 在Python中加了引号的字符,都被认为是字符串! 单引号.双引号.多引号之间的区别? 答案:单双引号没有区别 多引号的作用? ...
- Python开发——数据类型【字典】
字典的定义 # Python语言中唯一的类型映射 # 键与值之间用“:”分开 # 项与项之间用“,”分开 person = {"name":"yuan",&qu ...
- Python之路(第五篇) Python基本数据类型集合、格式化、函数
一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...
- Python基本数据类型集合、格式化、函数
一.变量总结 1.1 变量定义 记录某种状态或者数值,并用某个名称代表这个数值或状态. 1.2 变量在内存中的表现形式 Python 中一切皆为对象,数字是对象,列表是对象,函数也是对象,任何东西都是 ...
- python基本数据类型集合set操作
转:https://www.cnblogs.com/tina-python/p/5468495.html 一.集合的定义 set集合,是一个无序且不重复的元素集合. 集合对象是一组无序排列的可哈希的值 ...
- Python开发——数据类型【列表】
列表的定义 中括号[]内以逗号分隔开,按照索引,存放各种数据类型,每个位置代表一个元素 list_t = ['张三','Lucy',123] print(list_t) # ['张三', 'Lucy' ...
- Python开发——4.集合和字符串拼接
一.集合(set) 1.集合的特性: 不同元素组成.元素是无序排列的可hash值 2.集合转为列表 s1 = {11,"hechouzi",(11,22,33)} names = ...
- python基本数据类型——集合
集合 无序可变序列,集合中元素不允许重复,即每个元素都是唯一的 集合中的元素按照升序排列 # 创建集合 >>aset = set([0,2,4,5,7,2,3,5,9,0]) >&g ...
随机推荐
- [转]PostgreSQL命令行使用手册
启动pgsl数据库 1 pg_ctl -D /xx/pgdata start 查看pgsl版本 1 pg_ctl --version 命令行登录数据库 1 psql -U username -d db ...
- MVC 中Scripts.Render、Styles.Render
在ASP.NET MVC项目中,可以在视图中利用Scripts.Render.Styles.Render统一加载js.css文件,需要利用BundleConfig类来Add 各种Bundle,例如:b ...
- autoit3编辑器SCITE字体设置
选项→打开全局设置文件,就是SciTEGlobal.properties,修改下面的部分即可,保存之后立刻生效.如果不行,就打开用户设置文件SciTEUser.properties进行修改: font ...
- 洛谷P1443马的遍历
传送 这是个广搜,思路和普通的迷宫题差不多,但我卡了3遍,为什么呢? 因为输出格式 题目要求左对齐,宽度为5输出,在此说一下如何控制宽度. 下面的m都为要求的宽度 int 类型: printf: %m ...
- java中如何给控件设置颜色
1. tv.setTextColor(Color.parseColor("#000000"));2. tv.setTextColor(getResources().getCo ...
- std::set
std::set 不重复key 默认less排序 代码 #include <iostream> #include <set> class Person { public: ...
- 搭建基于MySQL的读写分离工具Amoeba
搭建基于MySQL的读写分离工具Amoeba: Amoeba工具是实现MySQL数据库读写分离的一个工具,前提是基于MySQL主从复制来实现的: 实验环境(虚拟机): 主机 角色 10.10.10.2 ...
- jquery中live is not a function的问题
jquery中的live()方法在jquery1.9及以上的版本中已被废弃了,如果使用,会抛出TypeError: $(...).live is not a function错误. 解决方法: 之前的 ...
- Java --Servlet 32个经典问题
Servlet方面 1.说一说Servlet的生命周期? Servlet有良好的生存期的定义,包括加载和实例化.初始化.处理请求以及服务结束.这个生存期由javax.servlet.Servlet接口 ...
- dubbo面试题,会这些说明你真正看懂了dubbo源码
整理了一些dubbo可能会被面试的面试题,感觉非常不错.如果你基本能回答说明你看懂了dubbo源码,对dubbo了解的足够全面.你可以尝试看能不能回答下.我们一起看下有哪些问题吧? 1.dubbo中& ...