list的概念
符号 [ ]
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
列表的作用 存储数据
存储的数据是同一个类型时,建议使用列表
list是一个可变的有序表
- 可以存在空列表
- 列表中可以包含任何数据类型
- 列表中的元素用逗号分开
list取单个元素
列表的单个值a[0]
列表的切片 同字符串的操作(取头不取尾)
list增加数据
- append(数据) 只能加一个数据
- insert(索引,数据) 可以放在任意位置,需要指定索引位置
list删除数据
- pop() 默认删除最后一个元素,()传入索引就会删除指定索引的元素
- pop() 的返回值是被删除的那个元素
- remove(值) 删除指定的值
list修改元素
a[索引值] = 新值
tuple的概念
符号 ( )
tuple和list非常类似,但是tuple一旦初始化就不能修改
用法 用来操作数据库 存放条件
tuple是一个不可变的有序表
不支持增删改
- 可以存在空元组a = ()
- 里面可以包含任何类型的数据
- 元组里面的元素 根据逗号来进行分隔
- 里面的元素 也是有索引的
特点:
元组里边的列表内部是可以修改的,其他类型的值不可以
相反 列表里边的元组内部是不能修改的
如果元组里只有一个元素 会默认为赋值操作 如需使用元组需要加逗号
a = ([1,2], )
这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,这就产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。
所以,只有1个元素的tuple定义时必须加一个逗号,,来消除歧义
dict的概念
符号{ }
特点:无序排列,没有索引
dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。
- 可以存在空字典a = {}
- 字典里面数据存储的方式: key:value
- 字典里面value可以包含任何类型的数据
- 字典里面的元素,用逗号分隔
- 字典的key是唯一的,重复赋值会覆盖
拓展:
dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
dict的key必须是不可变对象。
这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得出的结果不同,
那dict内部就完全混乱了。这个通过key计算位置的算法称为哈希算法(Hash)。
dict的取值
变量名[key]
dict删除值
变量名.pop(key)
会返回value值
新增
变量名[新key] = 新value
修改
变量名[存在的key] = 新value