栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

27 集合:在我的世界里,你就是唯一

Python 更新时间:发布时间: 百科书网 趣学号
一、集合是字典的表亲:
>>> num = {}
>>> type(num)


>>> num2 = {1, 2, 3, 4}
>>> type(num2)

【解释】大括号并不是字典的特权。
               在Python里,如果用大括号括起一堆没有映射关系的数字时,这一堆数字就是集合(‘set’)。


二、集合的特点 (一)唯一性:里面的数只能出现一次:
>>> num1 = {1, 2, 2, 3, 4, 3, 3, 5, 4}
>>> num1
{1, 2, 3, 4, 5}
(二)不支持索引(‘index’):

                集合和字典一样,都是无序的,不支持index。

>>> num1 = {1, 2, 3, 4, 5}
>>> num1[1]
Traceback (most recent call last):
  File "", line 1, in 
    num1[1]
TypeError: 'set' object does not support indexing

Traceback (most recent call last):
  File "", line 1, in
    num1[1]
TypeError: 'set' object does not support indexing


三、如何创建集合(两种方法) (一)直接把一堆元素用大括号括起来
(二)使用工厂函数  __set()
>>> set1 = set([1, 2, 2, 3, 4])
>>> set1
{1, 2, 3, 4}

>>> set1 = set('I love you')
>>> set1
{'e', ' ', 'v', 'o', 'y', 'l', 'I', 'u'}

>>> set1 = set(['I love you'])
>>> set1
{'I love you'}

课堂搞搞看:去除列表中重复的元素:[1, 2, 3, 4, 5, 5, 3, 1, 0]       ##非集合方式:
>>> num = [1, 2, 3, 4, 5, 5, 3, 1, 0]
>>> temp = []
>>> for each in num:  #对于在num内的元素
    if each not in temp:  # 如果没在temp里,
        temp.append(each)  # 就给我进来吧!!
>>> temp
[1, 2, 3, 4, 5, 0]
      ##集合方式:
>>> num = [1, 2, 3, 4, 5, 5, 3, 1, 0]
>>> num = list(set(num))  #把num转为集合(去除重复元素),再转为列表
>>> num
[0, 1, 2, 3, 4, 5]

'''但是再次变成列表时,会重新排序。
如果你的程序需要原有顺序的时候,就需要警惕这种办法!!'''
四、访问访问集合中的值 (一)for __读取集合中所有数据。
(二)in 和 not in __判断一个元素是否在集合中已经存在。
五、内置函数(具体函数看网站) 网站所在 (一)add()  __添加元素
(二)remove() __移除元素
>>> num = {0, 1, 2, 3, 4, 5}
>>> num.add(6)
>>> num
{0, 1, 2, 3, 4, 5, 6}
>>> num.remove(1)
>>> num
{0, 2, 3, 4, 5, 6}

六、不可变集合  __frozenset()
>>> num = frozenset((1, 2, 3, 4, 5))
>>> num
frozenset({1, 2, 3, 4, 5})

>>> num.add(0)
Traceback (most recent call last):
  File "", line 1, in 
    num.add(0)
AttributeError: 'frozenset' object has no attribute 'add'

        Traceback (most recent call last):
          File "", line 1, in
            num.add(0)
        AttributeError: 'frozenset' object has no attribute 'add'

【不可添加!!】

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/294469.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号