您的位置:

python中集合是可变的吗的简单介绍

本文目录一览:

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,散列)算法是将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。

哈希值是原数据唯一且极其紧凑的数值表示形式,哪怕只更改原数据的一个字母,再次散列后产生的都是不同的值。若要找到散列为同一个值的两个不同的输入,在计算上是不可能的,所以数据的哈希值可以检验数据的完整性。