python创建一个集合类型的方法是_Python 集合类型 Set

Python 集合类型 Set

作者:PHPYuan 时间:2018-06-18 23:39:10

20e4764bf37060024775da4ab64d33a5.png

Set 是一个无序的集合类型。它可以遍历,修改,没有重复的元素。支持数学集合的一些操作,例如交集,并集,差集,补集。

创建集合

使用花括号 {} 或者 set() 函数创建集合。注意,创建一个空的集合只能用 set(),因为 {} 创建的是一个空字典。

8d255aa749fd8bc7ca723655b65e8d61.png

创建了一个 basket 集合,可以发现,里面相同的元素不会重复出现,最终 basket 只有4个元素。

可以用 e in s 判断元素 e 是否存在集合 s 中。

set() 函数创建集合:

45bd0148814095c942ae7527b489f516.png

集合的操作

add(x) 方法,如果元素 x 不存在集合中,则添加。这个函数修改了原来的集合。

b2d17e5c316b4b943371358c33c81569.png

union(s) 方法,计算并集,也可以用 | 操作符。它不会修改原来的集合,而是返回新的集合。

d9de82394b15a97d47adcd876752b032.png

intersection(s) 方法,计算交集,也可以用 & 操作符。它不会修改原来的集合,而是返回新的集合。

297e22698f34ffa210cf0e17ec3ba78a.png

difference(s) 方法,计算差集,也可以用 - 操作符。它不会修改原来的集合,而是返回新的集合。

1d63fd23b1dedd08737827724aaf2dcb.png

clear() 方法,清空集合。

e4697188fac80caf656328be78640aa7.png

symmetric_difference(s) 方法,也可以用 ^ 操作符。返回不同时在两个集合的元素。它不会修改原来的集合,而是返回新的集合。

9209a4090a4e18295b8c151d90f2bf5b.png

update(s) 方法,更新集合。会修改原来的集合。

1c65212efe7dc31603c3924443000d03.pngunion(s)、intersection(s)、difference(s)、symmetric_difference(s) 都不会修改原来的集合。如果你想要修改原来的集合,需要用另外4个方法 update、intersection_update、difference_update、symmetric_difference_update。

issubset(s) 方法,判断是否是另一个集合的子集。也可以用操作符 <=

5520db307306e6f3225e2175282cddc9.png

集合 a 里面的元素都在集合 b 存在,所以 a 是 b 的子集。

issuperset(s) 方法,判断是否是另一个集合的超集。也可以用操作符 >=。

7f07e022aed9cfba54078e3352c9a2fd.png

可以用 for e in s 语法迭代集合。

e184d5310fc4c653627b2e144da7cf59.png

frozenset

还有一个集合用 frozenset() 函数声明,它是不可更改的,一旦声明,就不可以修改了。

7f9e56fd15fdd26c6e9e0ee6460a96da.png

它和普通集合有一些共同的操作,例如:

key in s # 判断 key 是否存在集合中

key not in s # 判断 key 不在集合中

s1 == s2 # s1 和 s2 是否相等

s1 != s2 # s1 和 s2 不等

s1 <= s2 # s1 是 s2 的子集

s1 < s2 # s1 是 s2 的真子集

s1 >= s2 # s1 是 s2 的超集

s1 > s2 # s1 是 s2 的超集,两者不可以相等

s1 | s2 # 并集

s1 & s2 # 交集

s1 – s2 # 差集

s1 ˆ s2 # 不同在 s1 和 s2 中的元素

分享到:

<< 上一篇:Python 迭代器 Iterators (2018-06-18 23:39)

>> 下一篇:使用命名元组编写简洁的Python代码 (2018-06-18 23:39)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值