美文网首页Python全栈
10.Python基础数据类型之集合

10.Python基础数据类型之集合

作者: 免跪姓黄 | 来源:发表于2020-02-07 12:57 被阅读0次

Python基础数据类型之集合

  1. 集合(set)

    • 集合(set)是一个无序的、不重复元素序列,因此集合没有索引且没有重复的元素。集合是一个容器型的数据类型,他要求里面的元素是不可变的数据类型,但集合本身却是一个可变的数据类型。
  2. 集合的作用

    遇到如下需求,应考虑使用集合

    • 列表的去重。
    • 关系测试。交集、并集、差集等。
  3. 集合的创建方式

    可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    • 方式一

      set_creat = set({1, 2, '集合', False})
      print(set_creat)
      # 输出结果:{False, 1, 2, '集合'}
      
    • 方式二(直接创建)

      set_creat = {1, 2, '集合', False}
      print(set_creat)
      # 输出结果:{'集合', 1, 2, False}
      
  4. 集合的增、删

      • 方式一(内置函数add)

        set_creat = {1, '集合', 'de', '增', '删'}
        set_creat.add('没有改')
        print(set_creat)
        # 输出结果:{1, '删', '没有改', '增', '集合', 'de'}
        
      • 方式二(内置函数update迭代增加)

        set_creat = {1, '集合', 'de', '增', '删'}
        set_creat.update('没有改')
        print(set_creat)
        # 输出结果:{'删', 1, 'de', '集合', '改', '增', '有', '没'}
        
      • 方式一(内置函数remove按照元素删除)

        set_creat = {1, '集合', 'de', '增', '删'}
        set_creat.remove('de')
        print(set_creat)
        # 输出结果:{1, '删', '增', '集合'}
        
      • 方式二(内置函数pop随机删除)

        set_creat = {1, '集合', 'de', '增', '删'}
        set_creat.pop()
        print(set_creat)
        # 输出结果:{'增', '集合', 'de', '删'}
        
    • 虽然集合没有“改”,但可以变相改值,即先删后增

  5. 集合的关系操作

    • 交集(使用&或intersection)

      set_1 = {1, 3, 5, 2, 4, 6}
      set_2 = {2, 4, 6, 3, 5, 7}
      print(set_1 & set_2)
      # 输出结果:{2, 3, 4, 5, 6}
      
    • 并集(使用|或union)

      set_1 = {1, 3, 5, 2, 4, 6}
      set_2 = {2, 4, 6, 3, 5, 7}
      print(set_1 | set_2)
      # 输出结果:{1, 2, 3, 4, 5, 6, 7}
      
    • 差集(使用-或difference)

      set_1 = {1, 3, 5, 2, 4, 6}
      set_2 = {2, 4, 6, 3, 5, 7}
      print(set_1 - set_2)
      # 输出结果:{1}
      
    • 反交集(使用^或symmetric_difference)

      set_1 = {1, 3, 5, 2, 4, 6}
      set_2 = {2, 4, 6, 3, 5, 7}
      print(set_1 ^ set_2)
      # 输出结果:{1, 7}
      
    • 子集(即:包含于,使用<)

      set_1 = {1, 2, 3}
      set_2 = {1, 2, 3, 4, 5, 6}
      print(set_1 < set_2)
      # 输出结果:True
      
    • 超集(即:包含,使用>)

      set_1 = {1, 2, 3}
      set_2 = {1, 2, 3, 4, 5, 6}
      print(set_1 > set_2)
      # 输出结果:False
      
  6. 集合用于列表去重

    • 使用集合对列表进行去重虽然简单,但由于集合是无序的,因此无法保证列表原来的顺序。

      list_1 = [1, 1, 1, 2, 3, 3, 4, 4, 5, 6]
      set_1 = set(list_1)
      list_1 = list(set_1)
      print(list_1)
      # 输出结果:[1, 2, 3, 4, 5, 6]
      
  7. 集合的推导式

    • 同列表和字典一样,集合也有推导式

      s = {i for i in range(1,11)}
      print(s)    # {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
      

相关文章

  • 10.Python基础数据类型之集合

    Python基础数据类型之集合 集合(set)集合(set)是一个无序的、不重复元素序列,因此集合没有索引且没有重...

  • 基础知识一:基础部分

    1、数据类型 基础数据类型:Int Double Float Bool(true,false) String 集合...

  • 【从零开始学Java】学习笔记day021

    一Collection集合 数组:引用类型,可储存多个元素,长度不可变,可以储存基础数据类型和引用数据类型 集合:...

  • R语言基础--数据类型-总结

    R语言基础--数据类型-总结 1、R语言基础--数据类型之向量 2、R语言基础--数据类型之因子 3、R语言基础-...

  • 基础部分

    1、基础的数据类型 集合类型:Array、Set 和 Dictionary数据类型:Int(整型值)、Double...

  • swift学习笔记之二---基础部分

    数据类型 1.基础数据类型:Int Double Float Bool String2.集合类型:Array Se...

  • Python自学笔记——3.基础数据类型转换

    基础数据类型转换 数据类型转换的形式自动类型转换强制类型转换 可变数据类型: 列表, 字典, 集合不可变数...

  • 10.Python基础语法---06集合

    集合 基本定义:通过{}构建 特性:无序,不可重复,元素可以是不同类型(不支持unhashable 类型的元素) ...

  • Python: set实例透析

    Python基础文章集合请移步。 Python里的 set数据类型 set是无序unique值的集合,常用来去重,...

  • java

    数据类型分为:8大基础数据类型和3大引用数据类型。 基础数据类型和引用数据类型的区别: 1,基本数据类型变量声明之...

网友评论

    本文标题:10.Python基础数据类型之集合

    本文链接:https://www.haomeiwen.com/subject/ademxhtx.html