Python(四)列表与列表推导式

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lexi3555/article/details/80633441
一、列表(可变序列)

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()对列表 lst所有元素进行逆序
lst.sort(key=None,reverse=False)对列表lst中的元素进行排序,key用来指定排序依据,reverse决定升序(False)还是降序(True)
lst.copy()返回列表lst的浅复制

2、append()、insert()、extend()
这个三个方法都可以向列表中添加元素

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

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

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

(1)原地操作,不影响列表对象在内存中的起始地址

(2)非原地操作情形,使用运算符+和*

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以内的所有素数


--------------------- 
版权声明:本文为CSDN博主「乐希」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lexi3555/article/details/80633441

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值