脚本专栏 
首页 > 脚本专栏 > 浏览文章

Python中集合的内建函数和内建方法学习教程

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )

集合内建函数和内建方法
(1)标准类型函数
       len():把集合作为参数传递给内建函数 len(),返回集合的基数(或元素的个数)。
(2)集合类型工厂函数
       set()和 frozenset()工厂函数分别用来生成可变和不可变的集合。如果不提供任何参数,默认会生成空集合。如果提供一个参数,则该参数必须是可迭代的,即一个序列或迭代器或支持迭代的一个对象,例如一个文件或一个字典。
(3)方法(所有的集合方法)
s.issubset(t)                  如果s是t的子集,则返回True,否则返回False
s.issuperset(t)               如果t是s的超集,则返回True,否则返回False
s.union(t)                       返回一个新集合,该集合是s和t的并集
s.intersection(t)            返回一个新集合,该集合是s和t的交集
s.difference(t)               返回一个新集合,该集合是 s 的成员,但不是 t 的成员
s.symmetric_difference(t)     返回一个新集合,该集合是s或t的成员,但不是s和t共有的成员
s.copy()                         返回一个新集合,它是集合s的浅复制
       内建方法copy() 没有等价的操作符。和同名的字典方法一样,copy()方法比用像set()、frozenset()或dict()这样的工厂方法复制对象的副本要快。
(4)方法(仅适用于可变集合)

可变集合类型的方法:

Python中集合的内建函数和内建方法学习教程

演示实例:
一、集合类型方法

Python中集合的内建函数和内建方法学习教程

> s = set('cheeseshop')
> t = set('bookshop')
> s
set(['c', 'e', 'h', 'o', 'p', 's'])
> t
set(['b', 'h', 'k', 'o', 'p', 's'])
> s.issubset(t)
False
> s.issuperset(t)
False
> s.union(t)
set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])
> s.intersection(t)
set(['h', 's', 'o', 'p'])
> s.difference(t)
set(['c', 'e'])
> s.symmetric_difference(t)
set(['b', 'e', 'k', 'c'])
> s.copy()
set(['p', 'c', 'e', 'h', 's', 'o'])


 

二、可变集合类型的方法

1、s.update(t)——用t中的元素修改s,即s现在包含s或t的成员。

> s.update(t)
> s
set(['c', 'b', 'e', 'h', 'k', 'o', 'p', 's'])

 

2、s.intersection_update(t)——s中的成员是共同属于s和t中的元素。

> s = set('cheeseshop')
> t = set('bookshop')
> s.intersection_update(t)
> s
set(['h', 's', 'o', 'p'])


3、s.difference_update(t)——s中的成员是属于s但不包含在t中的元素。

> s = set('cheeseshop')
> t = set('bookshop')
> s.difference_update(t)
> s
set(['c', 'e'])


4、s.symmetric_difference_update(t)——s中的成员更新为那些包含在s或t中,但不是s和t共有的元素。

> s = set('cheeseshop')
> t = set('bookshop')
> s.symmetric_difference_update(t)
> s
set(['c', 'b', 'e', 'k'])


5、s.add(obj)——在集合s中添加对象obj。

> s.add('o')
> s
set(['c', 'b', 'e', 'k', 'o'])


6、s.remove(obj)——从集合s中删除对象obj,如果obj不是集合s中的元素(obj not in s),将引发KeyError。

<p s.remove('b')
> s
set(['c', 'e', 'k', 'o'])
> s.remove('a')</p><p>Traceback (most recent call last):
 File "<pyshell#53>", line 1, in <module>
  s.remove('a')
KeyError: 'a'
</p>


7、s.discard(obj)——如果obj是集合s中的元素,从集合s中删除对象obj。

> s.discard('a')
> s
set(['c', 'e', 'k', 'o'])
> s.discard('e')
> s
set(['c', 'k', 'o'])

8、s.pop()——删除集合是中的任意一个对象,并返回它。

> s.pop()
'c'
> s
set(['k', 'o'])

9、s.clear()——删除集合s中的所有元素。

> s.clear()
> s
set([])

上一篇:Python中map,reduce,filter和sorted函数的使用方法
下一篇:Nginx搭建HTTPS服务器和强制使用HTTPS访问的方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap