一组有序数据的组合就是列表
1. len(列表名字) 获取列表长度
该方法还用于查询字符串长度 如:a = "hello" print(len(a))
2. list1.append() 在列表末尾添加一个数据
\\功能:向列表的末尾添加新的元素
格式:列表.append(值)
返回值:None
注意:新添加的值在列表的末尾,该函数直接操作原有列表
3. list1.insert(0,456) 在列表指定位置插入一个数据 “0”索引号 不是覆盖
\\功能:在指定位置之前插入元素
格式:列表.insert(索引,值)
返回值:None
注意:直接改变原有列表
4. list1.clear() 清空列表中所有数据
\\功能:清空列表中所有元素
格式:列表.clear()
返回值:None
5. list1.copy() 复制 浅拷贝 list2 = list1.copy() (只拷贝)
list3 = list1 属于深拷贝 (值和地址)
\\功能:复制列表
格式:列表.copy()
返回值:新的列表
6. list1 = [1,2,3,4,5,6]
print(list1.count(5)) 获取列表中该元素出现的次数 列表.count(元素)
print(list1.count(7)) 如果没有该元素,则结果为0
\\功能:计算某个元素出现的次数
格式:列表.count(值)
返回值:整数
7.list1.extend(list2) 扩展 延伸 在列表后加一个新的列表,成为一个大列表
print(list1) 新列表还存在
\\功能:将一个列列表继承另一个列表
格式:列表.extend(序列)
返回值:None
注意:直接改变原有列表
8. list1.index 询某元素在列表中第一次出现的值的索引,查询时加安全判定 因为值不存在会报错
list1.index(1,1,5) 可以查询指定范围内第一次出现的索引 index(value,start, stop)
\\功能:获取某个值在列表中的索引
格式:列表.index(值)
返回值:整数
注意:值不存在与列表时抛出异常错误!
9.pop() 移出指定索引处的元素并索取 (默认移除末尾元素)
print(list1)
\\功能:在列表中移除一个元素
格式:列表.pop([索引])
返回值:
注意:没有指定索引,默认移除最后一个元素
10.list1.remove() 移除列表中第一次出现的指定元素
\\功能:移除指定的值
格式:列表.remove(值)
返回值:无
注意:如果有索引的清空下推荐使用POP移除,效率比remove高
11.reverse() 将列表中所有元素倒置 1 4 3 》》》3 4 1
\\功能:列表反转操作
格式:列表.reverse()
返回值:None
list1 = list2[ : : -1] #实现反转
12.sort 将列表中的元素从小到大排序,
list1.sort(reverse=True) 如果参数 reverse = True, 代表将元素从大到小排序
注意:使用排序是要保证类型一致,字符串排序时按照首字母 在ASCII码表中的顺序排序
\\功能:列表排序
格式:列表.sort() 按照从小到大排序(数字)
格式:列表.sort(reverse=True) 按照从大到小排序(数字)
格式:列表.sort(key=函数) 对值进行指定的函数处理之后在从小到大排序
格式:列表.sort(key=函数,reverse=True) 对值进行指定的函数处理之后在从大到小排序
13.del(list1) 删除列表所有 内容和地址
14. 切片 从索引小的位置截取到索引大的位置,最终得到一个新的列表
list1[star:end:fudu] [第一个数:第二个数:幅度]
list1 = [5,3,3,4,2,2]
list2 = list1[1:2]
print(list2)
list2 = list1[1:5:2] #[第一个数:第二个数:幅度]
列表推导式
列表创建
lsit = [1,5,8,8]
方法一
list = []
for i in range(1,10):
list.append(i)
方法二
list2 = []
list2 = list(range(1,10))
print(list2)
方法三
list1 = [i for i in range(1,10)] #遍历i 每个值赋给i
print(list1)
带有判断条件的列表推导式
list2 = [i for i in list1 if i%3==0]
print(list2)
list2 = []
for i in list1:
if i % 3 == 0:
list2.append(i)
print(list2)
多个列表的同时循环的列表推导式
list1 = [i + j for i in range(1,10) for j in range(4,1,-1) if i % 2 == 0 and j % 2 == 1]
print(list1)
同等长度的二级列表 <1 for i in list1: for j in i: print(j) <2 list = [[1,2,3],[4,5,6],[7,8,9]] for i,j,k in list: print(i,j,k)
遍历时打印该值的索引 index = 0 list1 = [2,2,2,2,2,3,4] for i in list1: print(index,i) index += 1 for i in enumerate(list): print(i) for index,value in enumerate(list): print(index,value) list = [12,3,5,68,5,] list.remove(5) print(list)
for...in
for 变量 in 列表:
使用变量
while
i = 0
while i<len(列表):
使用列表中的元素(列表[i])
i += 1
遍历同等长度的二级列表
列表 = [[值1,值2],[值1,值2],....]
for 变量1,变量2 in 列表:
使用变量1和变量2
#注意:变量1取二级列表中的第一个值,变量2取第二个值
遍历非同等长度的二级列表
列表 = [[值1,值2],[值1,值2,值3],[值]...]
for 变量1 in 列表:
for 变量2 in 变量1:
使用变量2(变量2是二级列表中的每个值)
列表内涵/列表推导式 list content
简单的列表推导式
格式:[变量 for 变量 in 列表]
结果:遍历列表中的每个值,将每个值获取之后组成新的列表,可以对获取的值进行修改
[变量可以其他操作 for 变量 in 列表]
带有判断条件的列表推导式
格式:[变量 for 变量 in 列表 if 条件表达式]
结果:遍历列表中的每个值,根据判断条件决定是否取出指定的值组成新的列表,可以对获取的值进行修改
多个列表的同时循环的列表推导式
格式:[变量1+变量2 for 变量1 in 列表1 for 变量2 in 列表2]
结果:同时遍历列表1和列表2中的每个值,将列表1中的每个值和列表2中的每个值进行运算得到新的列表
新的列表中元素个数=列表1中元素个数 * 列表2中的元素个数
变量1和变量2可以进行其他操作,不一定非要+ 这只是demo
带有判断条件的多个列表的同时循环列表推导式
格式:[变量1+变量2 for 变量1 in 列表1 for 变量2 in 列表2 if 条件表达式]
结果:同时遍历列表1和列表2中的每个值,根据判断条件将列表1中的值和列表2中的值进行运算,得到新的列表
新的列表数量由判断条件决定