python系列教程66

朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow

声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!

Python 2.4引入了一种新的类型——集合(set),这是一些唯一的、不可变的对象的一个无序集合(collection),这些对象支持与数学集合理论相对应的操作。根据定义,一个项在集合中只能出现一次,不管将它添加了多少次。集合有着广泛的应用,尤其是在涉及数字和数据库的工作中。

集合具有列表和字典的某些共同行为。例如,集合是可以迭代的,可以根据需要增长或缩短,并且能够包含各种对象类型。一个集合的行为很像一个无值的字典的键。

在Python 2.6中,要创建一个集合对象,可以向内置的set函数传递一个序列或其他的可迭代的对象:

>>> x = set('abcde')

>>> y = set('bdxyz')

注意集合中的元素是随机无序的:

>>> x

set(['a','c','b','e','d']) # 2.6 display format

集合通过表达式操作符支持一般的数学集合运算。

>>> 'e' in x                             # Membership

True

>>> x - y                                # Difference

set(['a','c','e'])

>>> x | y                                # Union

set(['a','c','b','e','d','y','x','z'])

>>> x & y                                # Intersection

set(['b','d'])

>>> x ^ y                                # Symmetric difference (XOR)

set(['a','c','e','y','x','z'])

>>> x > y,x < y                         # Superset,subset

(False,False)

除了表达式,集合对象还提供了对应的函数方法,以及更多的改变集合的方法,集合add方法插入一个元素项目、update是按位置求并集,remove根据值删除一个项目(可以在任何集合实例或集合类型名上运行dir来查看所有可用的方法)。

>>> z = x.intersection(y)      # Same as x & y

>>> z

set(['b','d'])

>>> z.add('SPAM')              # Insert one item

>>> z

set(['b','d','SPAM'])

>>> z.update(set(['X','Y']))  # Merge: in-place union

>>> z

set(['Y','X','b','d','SPAM'])

>>> z.remove('b')              # Delete one item

>>> z

set(['Y','X','d','SPAM'])

作为可迭代的容器,集合也可以用于len、for循环和列表解析这样的操作中。然而,由于它们都是无序的,所以不支持像索引和分片这样的操作:

>>> for item in set('abc'): print(item * 3)

...

aaa

ccc

bbb
我的微信公众号是“人工智能知识分享”

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值