list 列表属于可变列表
(1)可以包含任意对象有序集合,【如下图,任意数据类型,顺序跟我们存进入的一样】
(2) 通过下表索引访问,如下图所示甚至可以使用负数进行访问,-1是最后一个元素
下图访问范围: 从索引0到索引2。后面索引是不包含2的,请注意下
(3)可变长度。append方法进行追加
(4)任意嵌套
(5)支持原位改变, 可以看到从 25 变成 26
在内存中。Person变量是指向一块引用,然后引用在指向具体的值。
当 person[1] = 26; 那么内存的引用将重新指向一个新的对象
(6) 对象引用数组。由下图可以看出 y 变量 的 “Mike” 跟 x[1] 是同一个对象
List 的通用操作 【下面内容适用与其他列表】
(1)list函数,将一个值转化为list
(2)判断元素是否在集合里面【 (in)、(not in)】
(3)联接序列 list1 + list2 【list1,list2 本身没有任何改变】
(4)重复序列内容 list1 * n (n表示重复几次) ,【list1本身也没有改变】
(5)下标获取元素与访问指定索引范围
上面说了范围访问中后面的索引是不包括在结果里面的,下面图例解释一下
范围访问可以看作索引在缝隙的位置。索引访问 0-2的索引,值得出前2个
看到图中还以一个负数的索引。我们也可以通过负数索引进行访问范围。
范围访问 cities[:2] 前面不写,默认从0开始。
cities[1:] 后面不写,访问到最后
cities[:] 都不写,访问所有
(6)按照步长值访问指定索引访问 语法: list1[i:j:k]
k 为步长值。 k = 2。即是每2个取1个。(每k个取1个,最后不满k个,当k个取)
(7)获取序列长度。len函数
(8)列表的部分通用函数
最大值(max)
最小值(min)
总和(sum)
获取某元素的下表 list.index(x)
获取某元素在列表出现的次数 list.count(x)
可变序列及列表的通用操作
(1)改变某个元素的值 list[0] = x
(2)改变某个范围内的值 list[n:m] = t 。 t 表示一个可以迭代的值,数目必须与替换的范围保持一致
(3)删除元素 del 。 删除范围的另外一种写法 x[0:2] = [] 等于一个空的序列也是一种删除
(4) list.remove(x) 删除一个值。如果又相同值,则删除第一个匹配值
(5) list.clear() 清空列表
(6) 追加元素list.append(x) 与 扩展元素s.extend(list)
(7) list.insert(index,value) index 索引位置,value 具体值。在指定位置插入一个值
list.insert(0, 3.14) 等于 list[0:0] = [3.14]
(8) list.pop(index) 删除指定索引的元素,并将删除值返回。
(9) list.reverse() 反转。不返回值。而是改变自身的元素位置
(10)复制序列
list.copy()
y = list.copy() 等同于 y = list[:]
(11) 排序 list.sort() 没有返回值,也是影响本身
倒序 list.sort(key=None,reverse=True) 参数是否反转
sorted(list) 返回一个新的结果。不影响本身
扩展: sort 方法的 key 参数是一个lambda。 下面的意思是,根据第一个字母排序
原文地址:https://www.cnblogs.com/Hong-Bin/p/8372459.html