python基础 - 数据类型

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

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

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

 

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

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

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

序列的遍历方式:

  1. for in
  2. for i,tem in enumerate(iterable)

 

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

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

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

 

字典 { }

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

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

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

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

创建方式:

  1. { “name”:”cc”,”age”:18}
  2. dict([(“name”,”cc”),(“age”,18)])
  3. dict(((“name”,”cc”),(“age”,18)))
  4. 推导式:[ 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 必须是不可变类型数据

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值