本文目录一览:
python基础教程-集合的介绍和使用方法
前面几节我们有介绍了列表和元组的使用方法,本节专门针对 集合进行详细讲解。
0python基础教程-列表的增删改查
0python基础教程-“元组”的介绍
集合分为可变集合和不可变集合,(可变集合不可hash)
s={1,'a',(1,2,3),}print(s)
集合的添加
s.add('123')print s
注意添加完成后 添加的内容输出的位置 集合是无序的 所以我们添加进入后是在中间
集合的复制
a=s.copy()
这里需要做一下区别说明,同样的,我们可以使用a=s 得到出展示一样的复制效果,但是实际的生产环境中是有区别的,a=s.copy() 是将s集合独立复制一份出来放在内存中,而a=s 中的a调用到的还是s的内存。
集合的删除
我们可以使用可以使用s.clear()直接清除整个集合
还可以使用s.pop()删除最后一个值
删除指定集合中的元素
s.remove('a')
python集合的作用有哪些?
集合可以像元组一样,设置不可改变的类型;也可以默认像字典,列表一样,可以迭代改变;同时集合里的元素可以是列表,元组,字典。
1、python集合的作用——创建字典
可使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
my_set = set(('apple',))
my_set
{'apple'}
2、python集合的作用——添加元素(add(),update())
# add 作为一个整体添加到集合中
my_set = set()
my_set.add("abc")
print(my_set)
#update 是把要传入的元素拆分,做为个体传入到集合中
my_set = set()
my_set.update("abc")
print(my_set)
3、python集合的作用——删除元素(remove(),pop(),discard())
#remove 如果集合种有,则直接删除;如果没有,程序报错 格式:集合名.remove(元素)
my_set = {11, 13, 15}
my_set.remove(13)
print(my_set) my_set.remove(131)
print(my_set)
#pop 随机删除集合中的元素 如果集合中没有元素则程序报错
my_set = {11, 13, 15}
my_set.pop()
print(my_set)
#discard 如果集合中元素存在,直接删除; 如果元素不存在 不做任何操作 格式: 集合名.discard(元素)
my_set = {11, 13, 15}
my_set.discard(13)
print(my_set)
my_set.discard(131)
print(my_set)
4、python集合的作用——交集( )
set1 = {9, 2, 3, 4}
set2 = {3, 4, 5, 16}
new_set = set1 set2
print(new_set)
# result {3, 4}
5、python集合的作用——并集( | )
set1 = {1, 2, 3, 4}
set2 = {3, 5, 5, 6}[page]
new_set = set1 | set2
print(new_set)
# result {1, 2, 3, 4, 5, 6}
6、python集合的作用——差集(-)
项在前一个集合中,但不在后一个集合中。
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 - set2
print(new_set)
# result {1, 2}
7、python集合的作用——对称差集( ^ )
即项在前一个集合或后一个集合中,但不会同时出现在二者中。即交集减去并集。
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
new_set = set1 ^ set2
print(new_set)
# result {1,2,5,6}
8、python集合的作用——子集判断
set1 = { 3, 4}
set2 = {3, 4, 5, 6}
# 判断set1是否是set2的子集
print(set1.issubset(set2))
# result True
9、python集合的作用——父集判断
set1 = { 3, 4}
set2 = {3, 4, 5, 6}
# 判断set1是否是set2的父集
print(set1.issuperset(set2))
# result False
10、python集合的作用——迭代和枚举
s={34,56,76,34,56,54,43,23,56}
for i in s:
print(i) ##迭代输出其内容
for i,v in enumerate(s):
print('index: %s,value: %s' %(i,v))
"""
result:
index: 0,value: 34
index: 1,value: 43
index: 2,value: 76
index: 3,value: 54
index: 4,value: 23
index: 5,value: 56
"""
可观察出,集合会自动过滤掉相同元素。
python集合的作用都有哪些?原来这些功能才是最实用的,集合可以像元组一样,设置不可改变的类型;也可以默认像字典,列表一样,可以迭代改变;同时集合里的元素可以是列表,元组,字典,你能处理好吗?如果您还担心自己入门不顺利,可以点击本站的其他文章进行学习。
python集合的定义方式
集合的定义
格式:集合名 = {元素1,元素2,...}
例:my_set = {1, 3, 5}
集合是无序的- 不支持下标索引
集合是可变的数据类型
集合中的元素是唯一的
集合一般用于元组或者列表中的元素去重
定义一个空的集合 my_set = set()
python 集合的元素为什么不能是可变数据类型
集合(set)是可以变的,它是一个无序不重复元素集 元组(touple)才是不可变的
集合的特征
集合的特征是:确定性、互异性、无序性。
1、确定性:给定一个集合,那么任何一个元素是否在集合中就确定了。
2、互异性:集合中的元素互不相同。
3、无序性:集合中的元素没有顺序,顺序不同但元素相同的集合可视为同一集合。
Python集合与数学中的集合概念一致,也具备以上3个特性。Python要求放入集合中的元素必须是不可变类型,Python中的整型、浮点型、字符串类型和元组属于不可变类型,列表、字典及集合本身都属于可变的数据类型。
对于所有的数据类型而言,它们只要能进行哈希运算,就可以作为集合中的元素出现。
哈希(hash,散列)算法是将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。
哈希值是原数据唯一且极其紧凑的数值表示形式,哪怕只更改原数据的一个字母,再次散列后产生的都是不同的值。若要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。