• 技术文章 >Python技术 >Python基础教程

    python集合是否可变总结

    silencementsilencement2019-07-06 09:44:55原创2769

    集合是一个无序的可变的序列。集合中的元素必须是可hash的,即不可变的数据类型。

    空集合

    a=set()

    注意a={}创建的是一个空字典。

    set —— 可变集合。集合中的元素可以动态的增加或删除。

    frozenset —— 不可变集合。集合中的元素不可改变。

    注:对于 并集, 交集, 差集 等的返回值,与最左边的操作数具有相同的类型。例如:s & t 取交集。s集合是一个set类型的集合,t集合是一个frozenset类型的集合,则返回的结果将是set类型的集合。

    也可以用set()转化为集合

    b=[1,2,3,4]
     
    a=set(b)
     
    a
     
    {1,2,3,4}

    还可以用{}来创建一个集合

    a={1,2,3,4,1}
     
    a
     
    {1,2,3,4}

    与字典一样,因为集合是无序的,所以当有重复元素时,只保留其中一个。

    不可变集合就是一个无序的不可变的集合

    用frozenset(seq)创建

    a=frozenset([1,2,3,(1,2,4)])
     
    a
     
    frozenset({1,2,3,(1,2,4)})

    元素也只能是可hash的

    frozenset([1,2,3,[1,2,4]])
     
    error

    主要用来做字典的键。。与tuple的区别在于无序,元素不可重复,且元素只能是不可变类型。

    描述:可以将其它的组合数据类型转化为不可变集合类型(或将可变的集合类型set转变为不可变的集合类型 frozenset),返回一个无重复元素且排序任意的不可变集合。

    frozenset()函数

    语法: frozenset() -> empty frozenset object 返回一个不可变空集合

    frozenset(iterable) -> frozenset object 返回一个不可变新集合

    iterable —— 要转换的组合数据类型。

    专题推荐:集合
    品易云
    上一篇:Python之简单的网络编程 下一篇:一文读懂Python中的映射

    相关文章推荐

    • Python中元祖的用法• Python之线程与进程相关介绍

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网