python中set和frozenset方法和区别

Python Set与FrozenSet详解
本文详细介绍了Python中Set和FrozenSet的使用方法及其区别。包括如何添加、删除元素,进行集合运算如并集、交集等操作。此外,还探讨了两者之间的主要差异以及应用场景。

先简单说一下set

t.add('x')            # 添加一项
s.update([10,37,42])  # 在s中添加多项
t.remove('H') # 删除一项
len(s)  # set 的长度
x in s # 测试 x 是否是 s 的成员 
x not in s   # 测试 x 是否不是 s 的成员 
s.issubset(t)  
s <= t  # 测试是否 s 中的每一个元素都在 t 中 
s.issuperset(t)  
s >= t  # 测试是否 t 中的每一个元素都在 s 中 
s.union(t)  
s | t  # 返回一个新的 set 包含 s 和 t 中的每一个元素 
s.intersection(t)  
s & t  # 返回一个新的 set 包含 s 和 t 中的公共元素 
s.difference(t)  
s - t  # 返回一个新的 set 包含 s 中有但是 t 中没有的元素 
s.symmetric_difference(t)  
s ^ t  # 返回一个新的 set 包含 s 和 t 中不重复的元素 
s.copy()  # 返回 set “s”的一个浅复制  

set(可变集合)与frozenset(不可变集合)的区别:
set无序排序且不重复,是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交集), difference(差集)和sysmmetric difference(对称差集)等数学运算.
sets 支持 x in set, len(set),和 for x in set。作为一个无序的集合,sets不记录元素位置或者插入点。因此,sets不支持 indexing, 或其它类序列的操作。
frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。

http://www.cnblogs.com/panwenbin-logs/p/5519617.html

中间件(Middleware)是指位于操作系统和应用程序之间的软件层,用于协调、管理和支持应用程序的运行。它提供了一组通用的功能和服务,使得应用程序开发和部署更加简化和灵活。 中间件可以提供以下功能: 1. 连接和通信管理:中间件可以处理不同应用程序之间的通信,包括远程过程调用(RPC)、消息传递、数据传输等。 2. 数据库访问:中间件可以提供对数据库的访问接口和连接池管理,简化数据库操作和提高性能。 3. 安全性和身份验证:中间件可以提供身份验证、授权和加密等安全机制,保护应用程序和数据的安全性。 4. 事务管理:中间件可以提供事务处理机制,确保在分布式环境中的数据一致性和完整性。 5. 缓存和性能优化:中间件可以提供缓存机制,减少对后端资源的访问,提高应用程序的性能和响应速度。 JDK(Java Development Kit)是Java开发工具包的缩写,它是Java平台的核心组件之一。JDK包含了用于开发、编译、运行Java应用程序的各种工具和库。 JDK提供了以下主要组件: 1. Java编译器(javac):用于将Java源代码编译成Java字节码。 2. Java运行时环境(JRE):包含了Java虚拟机(JVM)和Java类库,用于执行Java字节码。 3. 开发工具(如Java编译器、调试器等):用于开发和调试Java程序。 4. 额外的库和工具:JDK还提供了许多额外的库和工具,用于开发各种类型的应用程序,如图形界面开发、网络编程、数据库访问等。 总之,JDK是开发和运行Java应用程序所需的基本工具和库集合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值