python之集合学习笔记

按我的理解,集合类似于数学中的集合这一概念。

集合有以下几个特性:
1.集合内的元素是无序的,这和列表与元组不同,后两者因为有序,所以可以用切片操作和下标索引。但集合不行。
2.集合只能用工厂方法来生成,函数有两个:set()与frozenset().分别是可变与不可变的集合工厂函数。

a=set("beyond")
b=frozenset("beyond")

3.访问集合中的元素,要先判断集合中存在不存在这个元素,可以用in 与not in 操作符检查。例如:

a=set("beyond")#生成了一个集合
if 'e' in a:
    print 'e'

4.更新集合的元素方法

a=set("beyond")
a.add("c")
print a
a.update("hello")
print a

5.删除集合元素或者集合本身

a=set("beyond")
a.remove('b')
print a
del a

6.集合相等与大小的判断

a=set("beyond")
b=frozenset("beoynd")#注意与上面字符串的顺序不一样,但两个集合是相等的
print a==b

而如果两个集合,一个集合的元素全部可以在另一个集合中找得到,那么可以用大于小于号来作判断

a=set("beyond is a band")
b=frozenset("beoynd")#注意与上面字符串的顺序不一样,但两个集合是相等的
print a>b
print a<b

7.集合的数学意义上的操作
a.联合 | ,这个合并操作可以把两个集合中所有的 元素合并在一起。对照现实生活的情景如下:两个班级的学生一起联合举办某 个活动。那所有参加活动的同学就是:a班|b班

a=set("abc")
b=set("def")
c=a|b
print c

b.交集&,即两个集合中都共同拥有的相同的元素。比如两个班级中,有老师同时给这两个班级上课,那这些老师就是这两个班级师生集合的交集部分。

a=set("abc123")
b=set("def123")
c=a&b
print c

结果输出:set([‘1’, ‘3’, ‘2’])
c.差集-

a=set("abc123")
b=set("def123")
c=a-b
print c

8.前面说过集合有可变与不可变这两种类型,如果一个可变集合与一个不可变集合用集合操作,那结果是可变的还是不可变的呢?
答案是看集合操作符左右两边的集合类型,操作结果的类型与左边的集合类型相同。
9.以前我们习惯用+来给某个数据序列添加新的元素,但集合不支持这种操作,如果要添加,不妨用|操作符

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值