列表和列表推导式的使用

list

一、列表(可变序列)

1、常用的列表对象方法

方法 说明
lst.append(x) 将元素x添加至列表lst尾部
lst.extend(L) 将列表L中所有元素添加至列表lst尾部
lst.insert(index,x) 在列表lst指定位置index处添加元素x,该位置后面所有元素后移一个位置
lst.remove(x) 在列表lst中删除首次出现的指定元素,该元素之后的所有元素前移一个位置
lst.pop([index]) 删除并返回列表lst中下标为index(默认为-1)的元素
lst.clear() 删除列表lst中的所有元素,但保留列表对象
lst.index(x) 返回列表lst中得第一个值为x的元素的下标,若不存在值为x的元素则抛出异常
lst.count(x) 返回指定元素x在列表lst中出现次数
lst.reverse() 对liebiaolst所有元素进行逆序
lst.sort(key=None,reverse=False) 对列表lst中的元素进行排序,key用来指定排序依据,reverse决定升序(False)还是降序(True)
lst.copy() 返回列表lst的浅复制

2、append()、insert()、extend()

这个三个方法都可以向列表中添加元素

append()用于向列表尾部追加一个元素

insert()用于向列表任意指定位置插入一个元素

extend()用于将另一个列表中的所有元素追加至当前列表的尾部

3、pop()、remove()、clear()

这三个方法都用于删除列表中的元素,都是原地操作,不改变内存地址

pop()用于删除并返回指定位置(默认是最后一个)上的元素

remove()用于删除列表中第一个值与指定值相等的元素

clear()用于清空列表

del 删除列表中指定位置的元素

4、count()、index()、in

count()用于返回列表中指定元素出现的次数

index()用于返回指定元素在列表中首次出现的位置,如果不存在则抛出异常

in 测试列表中是否存在某个元素

5、sort()、reverse()

(1)原地操作,即处理过后,列表中原来的顺序全部丢失

sort()用于按照指定的规则对所有元素进行排序,默认规则是直接比较元素大小

reverse()用于将列表所有元素逆序排列

(2)sorted()、reversed()不改变原来列表顺序,建新表,内存地址改变

6、内置函数对列表的操作

max()、min()用于返回列表中所有元素的最大值和最小值

sum()用于返回数值型列表中所有元素之和

len()用于返回列表中元素个数

zip()用于将多个列表中元素重新组合为元组并返回包含这些元组的zip对象

enumerate()用于返回包含若干下标和值的迭代对象

注意:当列表增加或删除元素时,列表对象自动进行内存的扩展或收缩,从而保证元素之间没有缝隙,。Python列表的这个内存自动管理功能可以大幅度减少程序员的负担,但删除和插入非尾部元素时会涉及列表中大量元素的移动,效率较低,并且对于某些操作会造成意外的错误结果。因此,除非确实有必要,否则应尽量从列表尾部进行元素的增加和删除操作,这不仅可以大幅度提高列表的处理速度,并且总是可以保证得到正确的结果。

推导式

[表达式 for 变量 in 序列或迭代对象] 列表推导式在逻辑上相当于一个循环,只是形似更加简洁

1、使用列表推导式实现嵌套列表的平铺

2、过滤不符合条件的元素
(1)列出当前文件夹下所有Python的源文件

(2)选择所有大于0的数字组成新表

(3)字典中对成绩的各项操作

(4)找出列表中元素最大值的位置

3、在列表推导式中使用多个循环,实现多序列元素的任意组合,并且可以结合条件语句过滤特定元素

4、使用列表推导式实现矩阵转置(三种方式)

5、列表推导式可以使用函数或复杂表达式

6、列表推导式支持文件对象迭代

7、使用列表推导式生产100以内的所有素数

转载原文

posted @ 2020-07-29 11:46  名字很长容易被惦记  阅读(866)  评论(0编辑  收藏  举报