python基础 - 数据类型

    xiaoxiao2024-12-25  63

    数据结构:计算机程序中有很多数据,这些数据需要一个容器来管理。

    常见:数组,集合,列表,队列,链表,树,堆,栈,字典等

    Python中的数据结构主要是序列、集合、字典

     

    序列:可迭代的、元素有序、可以重复出现、可以通过索引访问

         (列表list、字符串str、元组、范围range、字节序列)

    序列可进行的操作有索引、切片、加和乘

    序列的遍历方式:

    for infor i,tem in enumerate(iterable)

     

    集合:可迭代的、无序的、不能包含重复元素的

       创建方式:1.set([iterable])    通过set将其他迭代对象转化为集合

                           2.{}    此创建方式元素不能为空,否则是字典类型

     

    字典 { }

    字典可以用来存储多个数据,通常用于存储描述物体的相关信息

                 注意:列表是有序的对象集合 , 字典是无序的对象集合

    键必须是唯一,必须是不可变对象只能使用字符串数字元组

     (因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。要保证hash的正确性,作为key的对象就不能变)

    创建方式:

    { “name”:”cc”,”age”:18}dict([(“name”,”cc”),(“age”,18)])dict(((“name”,”cc”),(“age”,18)))推导式:[ k:v for k,v in input_dict.items() if xxx ]

     

    可变和不可变类型

    不可变类型,内存中的数据不允许被修改。当某个变量被修改时,会开辟一个新的地址,变量会指向新的地址

                 1. 数字类型 int,bool,float,complex

                 2. 字符串 str

                 3. 元组 tuple

    可变类型,内存中的数据可以改变,没有开辟新的地址

                 1. 列表 list

                 2. 字典 dict(键值对的 key 必须是不可变类型数据,键值对的 value 可以是任意类型的数据

                          注意:字典中对键值对的约束涉及hash算法

     

    哈希(hash)

    Python 中内置有一个名字叫做 hash(o) 的函数

          接收一个 不可变类型 的数据作为 参数

          返回 结果是一个 整数

    哈希 是一种 算法,其作用就是提取数据的 特征码(指纹)

          相同的内容 得到 相同的结果

          不同的内容 得到 不同的结果

    在 Python 中,设置字典的 键值对 时,会首先对 key 进行 hash 已决定如何在内存中保存字典的数据,以方便 后续 对字典的操作:增、删、改、查,键值所以键值对的 key 必须是不可变类型数据

     

     

    最新回复(0)