python基础9:列表
序列
序列不是特指一种独立的数据类型,而是泛指一种有序的容器,容器的元素有顺序并且可迭代可切片
Python中基础的序列有列表、元组和range对象,注意,集合不属于序列,因为集合中的元素是无序的
序列可以进行切片和迭代
在Python中,最基本的数据结构为序列(sequence)。序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推。同时可回绕到序列末尾,用负索引表示序列末尾元素的位置。
列表
列表是Python内置可变序列之一,是包含若干元素的有序连续内存空间。
列表元素放在一对中括号中,每个元素用逗号隔开,每个元素类型可以不同,没有长度限制。
当列表元素增加或删除时,列表对象自动进行扩展或收缩内存,保证元素之间没有缝隙(自动内存管理)。
list是关键字不能作为变量名
1.定义一个列表
1.1方法一:直接赋值
1.2方法二 :其他数据类型转化而成
1.3 方法三:列表推导式
2.
2 列表的索引和切片(方法与字符串一致)
列表切片的语法: mylist[start:stop:step],切片包含start,不包含stop;其中,start,stop,step均为可选参数, 而且都可以为负数
列表的下标既可以用正数表示也可以用负数表示: python
charlly总结小笔记:单个元素切片不用参考mylist[start:stop:step]格式,直接myilst[3]或者myilst[-4]
2.1索引单个元素
2.2连续切片
2.3 不连续切片:step 取值要指定非1数值
2.4反向切片 step为负值,并且注意 切片起始位置到终止位置的方向与步长方向一致才能切出元素
3 列表的常用方法
charlly笔记 书写方式与字符串一致,name.表达式,由于列表是可变得因此操作均是在原数据上操作会修改原数据,并且运行后无结果输出,需要执行查看代码
-
增:append 将待插入作为一个整体 插入到列表最后 算作一个元素;extend 将待插入的每个元素依次取出插入到列表最后面,待插入有多少元素 新列表则增加同样个数元素; insert 与append一致是 作为一个元素整体插入,但是可以指定插入的位置
-
删: del 是一个函数 对不同类型数据均有用,只要是能切出来的均可以删,运行无返回结果; pop(位置)是按照指定位置进行删除,运行后会删除的元素,可以用标量来接受删除的元素; remove(元素)是按照指定内容进行删除,运行后无结果返回,需要指定查看代码; clear清空列表
-
改:list3[1]="小乔",直接将list3中第二个元素修改为"小乔",无返回
-
查:in/not in,a in list3
-
copy:list3.copy 有返回
-
sort,与sorted sorted(list3),list3.sort() ,默认升序,reverse=True则降序
-
reverse 逆置,从后往前倒序,无排序功能
-
count list4.count("小乔")列表中包含该元素的个数
-
index 返回指定元素在列表指定范围中第一次出现的位置(全局位置),或者可以指定起始位置
3.1增
3.1.1 append 将对象追加到列表的末尾
3.1.2 extend 通过添加来自iterable的元素来扩展列表
3.1.3 insertinsert(index, object) 在指定位置index前插入元素object
3.2 删
3.2.1 del
3.2.2 pop 删除并返回索引处的项目(默认为最后一个).如果列表为空或索引超出范围,则引发 IndexError
3.2.3 remove 按照元素值进行删除
remove删除第一次出现的值,如果列表中有重复值,并且删除的是后出现的值,不能通过remove进行删除,通过pop或者del
3.2.4 clear 清空列表
3.3改
3.4查
3.5 列表的其他操作
3.5.1列表的copy方法
3.5.2排序 sort (列表中)和sorted(类似于del 通用)
3.5.3 reverse:逆置
对原列表元素进行逆置
排序:是按照列表中元素值本身的大小进行排序
逆置:是把列表中所有元素的位置进行的逆置,和元素值本身的取值没有任何关系
统计指定列表中某个元素出现的次数
3.5.5 index
返回指定元素在列表指定范围中第一次出现的位置(全局位置)