编程语言
首页 > 编程语言> > python学习035-----python之集合

python学习035-----python之集合

作者:互联网

1.集合
这篇文章主要介绍字典的表亲-----集合。在python3中,用花括号括住一堆数据,且这堆数据没有体现映射关系的话,那么这个花括号就被视做集合。示例:

set1 = {1, 2, 3, 4, 5}
print( type(set1) )  #【输出】:<class 'set'>,即set1的类型是集合。
set2 = {1, 1, 3, 4, 2, 2, 4, 3, 5, 5, 5}
print( set2 )  #【输出】:{1, 2, 3, 4, 5}

经过上面的例子可以发现,集合可以自动剔除重复的元素。

2.集合的创建
创建集合一般有两种方法:
1)把一堆元素用花括号括起来;
2)使用集合的工厂函数创建集合。
示例如下;

set3 = set( [ 1,1,1,1,12,3,4,5,3,4,32,2, ] )
print( set3 )  #【输出】:{32, 1, 2, 3, 4, 5, 12}

【思考】:如何去除集合中的重复元素?
在没学习集合之前,我们可能会这么写:

num1 = [1, 3, 2, 6, 4, 5, 2, 2, 5, 3, 2]
temp = [ ]

for each in num1:
    if each not in temp:
        temp.append( each )

print( temp )  #【输出】:[1, 3, 2, 6, 4, 5]

在学习了集合以后,这么写的效率更加高效:

num1 = list( set( num1 ) )
print( num1 )  #【输出】:[1, 2, 3, 4, 5, 6]

要十分注意的是:利用 set() 函数得到的集合是重新排序过的,会打乱数据原本的顺序!

3.frozenset
该方法修饰后的集合不能被修改,示例如下:

num2 = frozenset( [1, 2, 3, 4, 5] )
num2.add(0)    #【报错】'frozenset' object has no attribute 'add'


 


 

标签:num1,temp,示例,python,print,each,集合,035
来源: https://blog.csdn.net/Leeeoplod/article/details/100560711