python基础知识——内置数据结构(集合)
时间:2022-05-04
本文章向大家介绍python基础知识——内置数据结构(集合),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
python中的set是指一系列无序元素的集合,其中的元素都是相异的,常见的操作包括集合的并集,交集和补集等操作。
1、set的创建
格式
set_name = {value1, value2, ...}
创建空的集合
set_name = set()
注意:在创建空的集合的时候不能使用
set_name = {}
这样创建出来的是字典。
例如
animals = {'cat', 'dog'}
animals_null = set()
print animals, animals_null
另外,可以将list转换成set类型
格式
set_name = set(list_name)
例如
animals = ['cat', 'dog']
animals_Set = set(animals)
print animals_Set
2、去除重复元素
set类型的数据结构中的元素是无序不重复的,可以利用这点,去除数据结构中相同的元素。
例如
animals = {'cat', 'dog', 'dog','pig'}
print animals
输出结果
set(['cat', 'dog', 'pig'])
3、并、交、补操作
对于set数据结构来说,最重要的就是并(|)、交(&)、补(-)的操作。
#coding:UTF-8
sA = {1, 2, 2, 2, 4, 5, 5}
sB = {4, 5, 6, 7}
#交集
print sA & sB#set([4, 5])
#并集
print sA | sB#set([1, 2, 4, 5, 6, 7])
#补集
print sA - sB#set([1, 2])
并交补的另类写法,并(union)、交(intersection)、补(difference)。
#coding:UTF-8
sA = {1, 2, 2, 2, 4, 5, 5}
sB = {4, 5, 6, 7}
#交集
print sA & sB#set([4, 5])
#并集
print sA | sB#set([1, 2, 4, 5, 6, 7])
#补集
print sA - sB#set([1, 2])
#并交补的另类写法
print sA.intersection(sB)#set([4, 5])
print sA.union(sB)#set([1, 2, 4, 5, 6, 7])
print sA.difference(sB)#set([1, 2])
另外在集合的操作中,判断集合的包含于子集。包含(>=或者issuperset),子集(<=或者issubset)。
#coding:UTF-8
sA = {1, 2, 2, 2, 4, 5, 5}
sB = {4, 5}
#判断sA是否包含sB
print sA.issuperset(sB)
print sA >= sB
#判断sB是否是sA的子集
print sB.issubset(sA)
print sB <= sA
4、其他的一些方法
增加单个元素(add),增加一组元素(update),判断指定的元素是否存在(in或者not in),删除指定的元素(remove),如果集合存在指定元素,则删除该元素(discard),集合的清空(clear)
#coding:UTF-8
sA = {1, 2, 2, 2, 4, 5, 5}
#添加单个元素
sA.add(6)#set([1, 2, 4, 5, 6])
print sA
#添加多个元素
sA.update([7,8,9,9,9])#set([1, 2, 4, 5, 6, 7, 8, 9])
print sA
#判断指定元素是否存在
print 5 in sA#True
print 10 not in sA#True
#删除指定元素
sA.remove(6)#set([1, 2, 4, 5, 7, 8, 9])
print sA
#如果集合存在指定元素,则删除该元素
sA.discard(9)#set([1, 2, 4, 5, 7, 8])
print sA
#集合的清空
sA.clear()#set([])
print sA
$(".MathJax").remove();
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浙大版《C语言程序设计(第3版)》题目集 练习4-11 统计素数并求和
- 浙大版《C语言程序设计(第3版)》题目集 习题4-1 求奇数和
- Kotlin 使用DSL构建语法结构 看这一篇就够了~
- 浙大版《C语言程序设计(第3版)》题目集 习题4-2 求幂级数展开的部分和
- 2020 年 9 月编程语言排行榜
- 浙大版《C语言程序设计(第3版)》题目集 习题4-3 求分数序列前N项和
- 浙大版《C语言程序设计(第3版)》题目集 习题4-4 特殊a串数列求和
- 一个可能让你的页面渲染速度提升数倍的CSS属性
- 浙大版《C语言程序设计(第3版)》题目集 习题4-6 水仙花数
- 浙大版《C语言程序设计(第3版)》题目集 习题4-7 最大公约数和最小公倍数
- 高危漏洞!黑客可利用sudo获得 root权限
- 浙大版《C语言程序设计(第3版)》题目集 习题4-8 高空坠球
- 浙大版《C语言程序设计(第3版)》题目集 习题4-10 猴子吃桃问题
- 6种展示代码的绝佳方式
- 你电脑里的IE浏览器正在被黑客利用