首页 > 编程 > Python > 正文

【Python】set与frozenset的区别

2019-11-09 19:34:23
字体:
来源:转载
供稿:网友

同多数语言一样,set表示集合,最重要的特性就是无序,所以Python中的set不支持indexing,但支持len(set),x in set 等操作。

set有两种类型,set和frozenset。

set是可变的,有add(),remove()等方法。既然是可变的,所以它不存在哈希值。

frozenset是冻结的集合,它是不可变的,存在哈希值,好处是它可以作为字典的key,也可以作为其它集合的元素。缺点是一旦创建便不能更改,没有add,remove方法。

举例如下

fza=frozenset('a')adict={fza:1,'b':2} #正确setb=set('a')bdict={setb:1,'b':2} #错误

还有一点需要注意,不管是set还是frozenset,Python都不支持创建一个整数的集合。

seta=set(1) #错误setb=set('1')#正确
上一篇:Python os.path模块

下一篇:Python 学习笔记1

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表