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'


 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值