集合:元素之间不允许重复
什么是集合
集合属于 Python 无序可变序列,使用一对大括号作为定界符,元素之间使用逗号分隔,同一个集合内的每个元素都是唯一,元素之间不允许重复。集合中只能包含数字,字符串,元组等不可变类型(或者说可哈希)的数据,不能包含列表,字典,集合等可变类型的数据。Python 提供了一个内置函数hash()
来计算对象的哈希值,凡是无法计算哈希值(调用内置函数hash()
时抛出异常)的对象都不能作为集合的元素,也不能作为字典对象的“键”。
集合对象的创建与删除
直接将集合赋值给变量即可创建一个集合对象。
复制代码
也可以使用set()
函数将列表,元组,字符串,range
对象等其他可迭代对象转换为集合,如果原来的数据中存在重复元素,则在转换为集合的时候只保留一个;如果原序列或迭代器对象中有不可哈希的值,则无法转换成为集合,抛出异常。
复制代码
除了列表推导式,生成器推导式,字典推导式之外,python 还支持使用集合推导式来快速生成集合。
复制代码
当不再使用某个集合时,可以使用del
命令删除整个集合。
增加与删除集合元素
集合对象的 add()
方法可以增加新元素,如果该元素已存在则忽略该操作,不会抛出异常;update
方法合并另外一个集合中的元素到当前集合中,并自动去除重复元素。
复制代码
集合对象的pop()
方法随机删除并返回集合中的一个元素,如果集合为空则抛出异常;remove()
方法删除集合中特定值的元素,如果不存在则抛出异常;discard()
方法从集合中删除一个特定元素,如果元素不在集合中则忽略该操作;clear()
方法清空集合。
复制代码
版权声明: 本文为 InfoQ 作者【乔乔】的原创文章。
原文链接:【http://xie.infoq.cn/article/eadf82a12fea9b546afdeb30e】。未经作者许可,禁止转载。
评论