首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每日一记:Python 集合学习笔记

摘要:

Python集合的概念、分类,创建、运算、常用方法、集合推导式。

Python集合的概念:

和数学中的集合概念接近,由一个或者多个确定的元素构成的整体。

图:Python集合

创建集合:

1、创建可变集合 set

创建可变集合语法:

s = set() #空集合

s = set(可迭代对象) #创建非空集合

s = #{} 可以创建非空机和

创建可变集合示例:

图:创建可变集合

试验:

s =

s = ,"22"}

结果如何?

2、创建不可不集合 frozenset

创建不可变集合的语法:

fz = frozenset() #空不可变集合

fz = frozenset(可迭代对象)

创建不可变集合示例:

图:创建不可变集合

集合主要运算:

集合运算主要包括:并集、交集、补集、子集、超集。

1、集合 并集

由所有属于集合 A 或属于集合 B 的元素所组成的集合,称为集合 A 与 B 的并集(Union),去重。

图:集合并集

示例:

2、集合交集

由属于集合 A 且属于集合 B 的元素所组成的集合,叫做集合 A 与 B 的交集(intersection),多个集合的公共部分。

图:集合交集

示例:

3、集合补集

差补/相对补集 ( – )

两个集合(B 和 A)的差补或相对补集是指一个集合 C,该集合中的元素,只属于集合 B,而不属于集合 A。 B – A

图:集合补集

示例:

4、对称补集:

两个集合( A 和 B )的对称补集是指另外一个集合C,该集合中的元素,只能是属于集合 A 或者集合 B的成员,不能同时属于两个集合。

示例:

5、子集/超集:

如果一个集合A中的每一个元素都在集合B中,且集合B中可能包含A中没有的元素,则集合B就是A的一个超集,反过来,A是B的子集。 B是A的超集,若B中一定有A中没有的元素,则B是A的真超集,反过来A是B的真子集。

示例:

6、集合等价,不等价(相等,不相等)运算:

== 等价

!= 不等价

示例:

7、混合集合类型操作:

A 可变集合

B 不可变集合

8、成员关系 ( in, not in ):

判断一个对象是否是集合内的元素

示例

集合遍历:

使用 for in 遍历集合对象示例

可变集合常用方法:

1、add方法:

向集合中添加一个新的元素,如果元素已经存在,则不添加

A.add(对象)

2、update方法:

用一个集合更新本集合

A.update(集合)

3、remove方法:

从集合中删除一个元素,如果元素不存在于集合中,则会产生一个KeyError错误

A.remove(对象)

4、pop方法:

从集合中随机的删除一个元素,并返回该元素

A.pop()

5、clear方法:

清空集合元素

A.clear()

6、copy方法:

复制集合(浅复制,复制一层)

A.copy()

7、del 集合:

可变集合和不可变集合小结

1、可变集合元素可增加、减少

•支持add,update,remove, pop, clear方法

•支持 copy 方法

2、不可变集合,创建后不能改变

•支持 copy方法

•不支持 add,update,remove,pop, clear等方法

3、可变集合和不可变集合混合运算,结果类型要考虑先后

4、集合不支持序列的索引操作,不支持字典的键索引操作

5、不可变集合可以做字典键,可变集合不可以做字典键

集合推导式:

集合推导式是用可迭的对象依次生成集合内元素的方式

语法

{ 表达式 for 变量 in 可迭代对象 }

{ 表达式 for 变量 in 可迭代对象 if 条件语句 }

示例:

names = [1, 3, "Name", "Mob"]

s = { n for n in names}

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180220A0QQ8W00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券