Python学习之路——集合(set)
2020-01-15 05:43
148 查看
集合是Python里一个无序的不重复元素序列。
一、创建集合
集合和列表基本一致,但是集合具有以下几个特点:
1.集合只能存储不可变对象
2.集合中存储的对象是无序的
3.集合中不能出现重复的元素
# 方式一 set1 = {'set'} # 方式二 set2 = set() # 创建一个空字典 # set()函数中可以传递一个可迭代对象 set3 = set('set') # ser3 = {'s', 'e', 't'}
二、访问集合的值
1. 通过索引访问
集合作为一种无序的序列,是不能够通过索引直接访问的,要想通过索引访问,只能先将它转化为其他有序序列,如元组和列表。并且由于集合是无序的,通过索引访问的时候也并非是按照存入的顺序。
set1 = {'P', 'y', 't', 'h', 'o', 'n'} print(list(set1)[0]) print(tuple(set1)[0])
2. 遍历集合
集合作为一种无序的序列,虽然不能通过索引访问,但是作为一种序列,依然可以使用for语句进行遍历。注意:遍历结果也是无序的。
set1 = {'P', 'y', 't', 'h', 'o', 'n'} for i in set1: print(i)
三、集合的特殊操作
1. 判断元素是否在集合内部
set1 = {'P', 'y', 't', 'h', 'o', 'n'} 'P' in set1 # True 'P' not in set1 # False
2. 集合的运算
假设有集合A和集合B:
(1) 交集
找集合A和和集合B中共有的元素就是求A和B的交集。
set1 = {1,2,3,4,5} set2 = {3,4,5,6,7} set3 = set1 & set2 # set3 = {3, 4, 5}
(2) 并集
找集合A和和集合B中所有的元素就是求A和B的交集。
set1 = {1,2,3,4,5} set2 = {3,4,5,6,7} set3 = set1 & set2 # set3 = {1, 2, 3, 4, 5, 6, 7}
(3) 差集
所有属于A且不属于B的元素的集合被称为A与B的差集。
set1 = {1,2,3,4,5} set2 = {3,4,5,6,7} set3 = set1 - set2 # set3 = {1, 2}
(4) 异或集
集合A和集合B中除去相同元素后剩下的元素的集合叫做A和B的异或集。
set1 = {1,2,3,4,5} set2 = {3,4,5,6,7} set3 = set1 ^ set2 # set3 = {{1, 2, 6, 7}
(5) 子集与真子集
如果集合A中包含有集合B的所有元素且含有集合B没有的元素,那么集合B就是集合A的真子集。如果集合A和集合B中元素相同,就是子集。空集是任意非空集合的真子集。
set1 = {3,4,5} set2 = {3,4,5,6,7} set1 < set2 # True set1 <= set2 # True
(6) 超集与真超集
集合A中的每一个元素都在集合B中,且集合A中可能包含B中没有的元素,则集合A就是B的一个超集,反过来,B是A的子集。 A是B的超集,若A中一定有B中没有的元素,则A是B的真超集,反过来B是A的真子集。
set1 = {3,4,5} set2 = {3,4,5,6,7} set2 > set1 # True set2 >= set1 # True
四、集合常用函数
1. 求取集合中元素个数
set1 = {1,2,3,4,5} # len()函数可以用来求取集合中元素个数 len(set1) # 5 # 魔术方法 面向对象 set1.__len__() # 5
2. 删除集合
set1 = {1,2,3,4,5} # del()函数可以删除整个集合并回收地址 del set1 # 因为set1已经被回收了,所以调用时会报错 print(set1) # NameError: name 'set1' is not defined
五、集合常用方法
1. 添加元素(add)
set1 = {1,2,3,4,5} # add()方法可以向集合中添加元素 set1.add(6) # set1 = {1,2,3,4,5,6}
2. 清空集合(clear)
set1 = {1,2,3,4,5} # clear()方法可以清空集合 set1.clear() # set1 = {}
3. 随机删除集合中的元素(pop)
set1 = {1,2,3,4,5} # pop()方法会随机删除集合中一个元素并返回删除的元素 set1.pop()
4. 删除集合中的指定元素(remove)
set1 = {1,2,3,4,5} # remove()方法会删除集合指定元素 set1.remove(5) # set1 = {1,2,3,4} # 当删除元素不在集合中时会抛出异常 set1.remove(6) # KeyError: 6
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 02-python学习笔记:字典dict和集合set
- 3.python的set集合的操作示例——《深入python》学习
- python开发学习-day03(set集合、collection系列 、深浅拷贝、函数)
- python 学习之路(集合)
- Python3学习笔记【基础3--list,tuple,if条件判断,for/while循环,dict字典,set集合】
- 集合set、python给程序传参数的学习、列表生成式
- Python学习之路2--------dic和set
- python基础学习——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- Python学习笔记之集合类型(set, frozeset)
- 集合set、python给程序传参数的学习、列表生成式
- Python3学习(5)--集合dict和set
- Python 集合类(set)学习
- Python学习之set()集合
- python学习笔记2.6-集合(set)
- Python全栈之路:集合set常用方法
- python学习十一--set集合
- python 学习笔记——set() class 集合类型
- Python学习笔记--集合set
- Python学习笔记:集合(set)有关函数
- 零基础入门学习Python(14):集合set()