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'