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

    python集合的底层实现

    小妮浅浅小妮浅浅2021-10-25 09:48:16原创4982

    1、集合类型的底层实现基于哈希表,键的输出顺序,取决于键在哈希表中的存储顺序。

    2、集合中键的数据类型必须是静态数据类型,如简单数据类型、字符串和元组。

    集合类型与字典类型相同,是基于哈希表的数据结构。

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    # -*- coding: utf-8 -*-

    """

    @Time    : 2021/8/15 19:20

    @Author  : LYP

    @FileName: set_python.py

    @SoftWare: PyCharm

    """

      

    print("创建集合")

    a = {1,'c',1,(1,2,3),'c','a','e','e'}

    print(a)

      

    set1 = set("c.biancheng.net")

    set2 = set([1,2,3,4,5])

    set3 = set((1,2,3,4,5))

      

    print("set1:",set1)

    print("set2:",set2)

    print("set3:",set3)

      

    print("集合之间的常见操作")

    set4=set([1,2,3,4,5,6,7,8])

    set5=set([6,7,8,9,12,23,45,67])

      

    print(set4)

    print(set5)

      

    print("set4中添加元素10",set4.add(10))

    print("set5中添加元素10",set5.add(10))

      

    print("set4中删除元素",set4.pop())

    # discard() 删除特定元素

    print("set5中删除元素",set5.discard(6))

      

    print("set4中移除元素10",set4.remove(10))

    print("set5中移除元素",set5.remove(10))

      

    print("集合常见操作")

    print("set4和set5的交集",set4 & set5)

    print("set4和set5的并集",set4 | set5)

    print("set4和set5的差集",set4 - set5)

    print("set4和set5的对称差集",set4 ^ set5)

      

    print(" 两个集合的并集",set4.union(set5))

    print(" 多个集合的差集",set4.difference(set5))

    print(" 集合的交集",set4.intersection(set5))

      

    print("判断两个集合是否包含相同的元素,",set4.isdisjoint(set5))

      

    print("判断集合是否有某个元素,", 7 in set5)

    以上就是python集合的底层实现,希望对大家有所帮助。更多Python学习指路:python基础教程

    本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

    专题推荐:python 集合
    上一篇:python查询键值对是否在字典的三个方法 下一篇:Python解析器如何搜索模块位置

    相关文章推荐

    • 什么是网络协议• python中的去除重复项的操作• python中少见的函数map()和partial()• python的sort()排序方法• Python中的文件读写-理论知识

    全部评论我要评论

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

  • 取消发布评论
  • 

    Python学习网