Python 集合常用知识总结

本文仅对常见的集合函数进行整理,待实践后补充。

一、集合的特性

  • 集合内的值是唯一的、不重复的。若添加了或创建时有重复的值,则系统会自动合并。
  • 集合内的值是无序的,不像列表每个值有对应的索引。

二、集合的创建

2.1 基本赋值法 {hashable}

使用大括号,可哈希的值间用“,”隔开。注意与字典、列表的区别!

>>> a = {1,2,3,4} # 这是集合 (大括号、逗号)
>>> b ={'one':1,'two':2,'three':3} # 这是字典 (大括号、冒号、逗号)
>>> c = [1,2,3,4] # 这是列表 (中括号)
>>> d = (1,2,3,4) # 这是元组 (小括号)
  • 注意1:括号内的对象必须是可哈希(hashable)的。如列表、字典、集合都是不可哈希的(unhashable)。
  • 注意2:列表、字典、集合都是不可哈希的(unhashable),字符串、数字、元组都是可哈希的(hashable)。
  • 注意3:可哈希的意义是:对象的内容无法通过函数进行改变。其不变性使得该可哈希的对象具有唯一不变的地址。

2.2 外部函数set(iterable)

该函数的作用是:将可迭代的对象转化为集合。

>>> a = set("123")        # 将  字符串  转化为集合
>>> b = set([1,2,3])      # 将   列表   转化为集合
>>> c = set((1,2,3))      # 将   元组   转化为集合
>>> d = set({1:2,3:4})    # 将 字典的键 转化为集合
>>> print(a,b,c,d)
{'最', '国', '强', '中'} {1, 2, 3} {1, 2, 3} {1, 3}
  • 注意:对于重复的值,系统会进行合并。

2.3 外部函数frozenset(iterable)

与set(iterable)功能类似,只是所创建的集合不能通过函数进行改变。这点性质类似元组。

>>> a = frozenset([1,2,3])
>>> a
frozenset({1, 2, 3})
>>> a.app(4)
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    a.app(4)
AttributeError: 'frozenset' object has no attribute 'app'

三、集合的修改

3.1 内置函数add(hashable)

该函数的功能是:往集合内添加元素。对于未有的元素进行添加,对于已有的元素不做改变。

>>> a={1,2,3}
>>> a.add(4)
>>> a
{1, 2, 3, 4} # 4成功添加至集合内
>>> a.add(3)
>>> a
{1, 2, 3, 4} # 3本存在于集合内,故集合无变化
  • 注意:该函数括号的只能是一个值。

3.2 内置函数remove(hashable)

该函数的功能是:从集合中删除指定元素。对于未存在的元素,系统会报错。

a = {1,2,3}
>>> a.remove(1)
>>> a
{2, 3} # 1成功从集合中删除了

集合的remove函数 与 列表的remove函数 功能相同

3.3 内置函数discard(hashable)

该函数的功能是:从集合中删除指定元素。对于未存在的元素,系统不会报错。注意与remove函数的对比。

>>> a = {1,2,3}
>>> a.discard(1)
>>> a
{2, 3} # 1成功从集合中删除了
>>> a.discard(1) #1已不存在于集合中,但系统不会报错
>>> a
{2, 3} 

3.4内置函数copy(set)

该函数功能与列表、字典的功能相同,再次不再赘述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值