在Python中列表和元组可以用一个变量来表示很多个数据
元组和列表相比, 是非常相似的, 只是列表中放哪些元素可以修改调整, 元组中放的元素是创建元组的时候就设定好的, 不能修改调整
创建列表主要有两种方式, [ ] 表示一个空的列表
第一种:直接使用字面值来创建
第二种:使用 list( )来创建
可以在创建列表的时候,在[ ]中指定列表的初始值
可以直接使用 print 来打印 list 中的元素内容
可以在同一个列表里放不同类型的变量
通过下标访问的方式来获取到列表中的元素
我们把 [ ] 中填写的数字, 称为下标或者索引,[ ]是下标访问操作符
注意: 下标是从 0 开始计数的

使用下标来修改列表元素
超出下标有效范围,就会出现异常
可以使用内建函数len来获取列表的长度(元素个数),和字符串相似,因为下标是从 0 开始的, 因此下标的有效范围是 [0, 列表长度 - 1],使用 len 函数可以获取到列表的元素个数,len可以传字符串,列表,元组,字典,自定义的类
python中的下标还可以写成负数,下标可以取负数,表示 “倒数第几个元素”
通过下标操作是一次取出里面第一个元素
通过切片, 则是一次取出一组连续的元素, 相当于得到一个子列表
使用 [ : ] 的方式进行切片操作
注意:这里只打印4,5是因为前闭后开,[1:3]相当于区间[1,3),这里[ ]中的数字指的是下标
使用切片的时候,可以省略前后边界
切片操作还可以指定 “步长” , 也就是 “每访问一个元素后, 下标自增几步”
切片操作指定的步长还可以是负数, 此时是从后往前进行取元素. 表示 “每访问一个元素之后, 下标自减几步”
从以上的例子可以看出,当切片中的范围超出有效下标后,不会出现异常,而是尽可能的把符合要求的元素给获取到
切片操作是一个比较高效的操作,进行切片的时候,只是取出了原有列表中的一部分,并不涉及到"数据的拷贝"
遍历就是把一个列表(可替换成元组,字典等等)里面的每个元素,都依次的取出来,再分别进行处理
遍历搭配循环使用
1.使用 for 循环来遍历
2.使用 for 循环遍历,通过下标的方式
使用 while 循环. 手动控制下标的变化
使用 append 方法, 向列表末尾插入一个元素(尾插)
注意:
此处的append 是搭配该列表对象a来一起使用的,而不是作为一个独立的函数,要搭配对象来使用的函数也叫做"方法"
使用 insert 方法, 向任意位置插入一个元素
insert 第一个参数表示要插入元素的下标
使用 in 操作符, 判定元素是否在列表中存在. 返回值是布尔类型
使用 index 方法, 查找元素在列表中的下标. 返回值是一个整数. 如果元素不存在, 则会抛出异常
使用 pop 方法删除最末尾元素
使用pop还能删除任意位置的元素,pop的参数可以传一个下标过去
使用 remove 方法, 按照值删除元素
使用 + 能够把两个列表拼接在一起
注:此处的 + 结果会生成一个新的列表. 而不会影响到旧列表的内容
使用 extend 方法, 相当于把一个列表拼接到另一个列表的后面
注:a.extend(b) , 是把 b 中的内容拼接到 a 的末尾. 不会修改 b, 但是会修改 a
None:这是一个特殊的变量的值,表示什么都没有
因为extend方法其实是没有返回值的,拿一个变量来接收返回值的方法,返回的就是None
使用+=来进行拼接
a+=b多了三步操作:
1.多创造了一个新的列表的操作
2.多了把大的列表的值赋值给a
3.多了把a的旧值释放的操作
+=和extend拼接的区别:
a+=b等价于a = a+b,产生了一个新的列表a
a.extend(b)则是直接把b的内容拼接到a的后面
元组的功能和列表相比, 基本是一致的
元组不能修改里面的元素, 列表则可以修改里面的元素
因此, 像读操作,比如访问下标, 切片, 遍历, in, index, + 等, 元组也是一样支持的
但是, 像写操作, 比如修改元素, 新增元素, 删除元素, extend 等, 元组则不能支持
元组使用 ( ) 来表示

创建元组的时候,指定初始值
元组中的元素也可以是任意类型的
通过下标来访问元组中的元素,下标也是从0开始到len减1结束
通过切片来获取元组中的一部分
与列表一样,同样可以使用for循环等来进行遍历元素,可以使用in来判定元素是否存在,使用index查找元素的下标,使用+来拼接两个元组
元组只是支持"读"操作,不支持"修改"类的操作
元组在 Python 中很多时候是默认的集合类型. 例如, 当一个函数返回多个值的时候