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

作者:乌托邦 时间:2023-11-03 04:11:27 

集合内建函数和内建方法
(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,集合
0
投稿

猜你喜欢

  • BootStrap的select2既可以查询又可以输入的实现代码

    2024-04-28 10:18:41
  • python烟花效果的代码实例

    2022-09-01 05:42:41
  • pandas DataFrame运算的实现

    2021-06-02 21:08:22
  • 使用Python神器对付12306变态验证码

    2021-01-19 00:14:02
  • PHP PDOStatement::rowCount讲解

    2023-06-06 12:24:04
  • MySQL修改配置,区分大小写

    2010-12-03 16:31:00
  • 取numpy数组的某几行某几列方法

    2022-03-10 02:04:56
  • Python eval()与exec()函数使用介绍

    2022-03-13 19:24:31
  • vue2/vue3路由权限管理的方法实例

    2024-05-29 22:28:54
  • 详解.NET数据库连接池

    2024-01-20 16:05:59
  • Python 生成多行重复数据的方法实现

    2022-07-26 18:56:07
  • python实现过滤敏感词

    2021-02-26 04:23:17
  • Oracle字符集修改查看方法

    2009-11-05 21:45:00
  • 关于SQL Server查询语句的使用

    2024-01-16 08:14:06
  • 三层级联动的日期选择下拉框javascript源码

    2013-08-15 16:50:40
  • 新手该如何学python怎么学好python?

    2022-06-20 07:33:27
  • Python实现如何根据文件后缀进行分类

    2023-12-11 07:46:40
  • js+html5实现半透明遮罩层弹框效果

    2024-05-08 09:33:09
  • python循环输出三角形图案的例子

    2022-05-16 08:38:37
  • vant之van-list的使用及踩坑记录

    2023-07-02 16:48:41
  • asp之家 网络编程 m.aspxhome.com