python集合的底层怎么实现

寻技术 Python编程 2023年07月12日 77

今天小编给大家分享一下python集合的底层怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

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

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

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

实例

# -*- 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)
关闭

用微信“扫一扫”