一些 python 数据结构 基础概念

列表

List: 列表
python 中的 list 是 python 的内置数据类型,list 中的数据类型不必相同,
在 list 中保存的是数据的存放的地址,即指针,并非数据。

array:数组
array() 是 numpy 包中的一个函数,array 里的元素都是同一类型

python中 list 与数组array的互相转换
list转array:np.array(a)
array 转list:a.tolist()

哈希
Hash,一般翻译做散列、杂凑,或音译为哈希
Hash简单点讲就是把任意一段数据经过某种算法生成一段唯一的固定长度的数据

哈希表 hash table
也叫作散列表,这种数据结构提供了键(key)和值(value)的映射关系。只要给出一个key,就可以高效查找到它所匹配的value,时间复杂度接近于O(1)
在不同语言中,哈希函数的实现方式是不一样的,在python语言中,哈希表对应的集合叫做字典(dict)

哈希函数 Hash Function
哈希函数,又称散列函数。是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出的值称为散列值或消息摘要。简单来说就是一种将任意长度的输入消息压缩成某一固定长度的消息摘要的函数

图表讲解 https://www.jb51.net/article/247466.htm

集合  set

无序性:一个集合中,每个元素的地位都是相同的,元素之间是无序的
互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次
确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现

无序性体现在集合不支持索引运算
互异性体现在集合中不能有重复元素

Python中的集合底层使用了哈希存储的方式

a={1,2,3,3,3}
print(a)        #{1, 2, 3}

a={1,2,3,4}
print(a)        #{1, 2, 3, 4}
print(type(a))  #<class 'set'>

b={1,6,7}
a=a|b
print(a)        #{1, 2, 3, 4, 6, 7}

a={1,2,3,4}
b={1,6,7}
a=a&b
print(a)        #{1}

未完待续

Reference

https://zhuanlan.zhihu.com/p/261636002
https://blog.csdn.net/qq_62789540/article/details/122635578
https://blog.csdn.net/zhuzitop/article/details/108793412
https://blog.csdn.net/qq_59307163/article/details/119277743

猜你喜欢

转载自blog.csdn.net/weixin_48185819/article/details/127124257
今日推荐