- 1、本文档共75页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
列表推导式使用列表推导式实现嵌套列表的平铺vec=[[1,2,3],[4,5,6],[7,8,9]][numforeleminvecfornuminelem][1,2,3,4,5,6,7,8,9]列出当前文件夹下所有Python源文件[filenameforfilenameinos.listdir(.)iffilename.endswith(.py)]过滤不符合条件的元素a=[-1,-4,6,7.5,-2.3,9,-11][iforiinaifi0][6,7.5,9]列表推导式在列表推导式中使用多个循环,实现多序列元素的任意组合,并且可以结合条件语句过滤特定元素[(x,y)forxinrange(3)foryinrange(3)][(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)][(x,y)forxin[1,2,3]foryin[3,1,4]ifx!=y][(1,3),(1,4),(2,3),(2,1),(2,4),(3,1),(3,4)]列表推导式列表推导式中可以使用函数或复杂表达式deff(v):ifv%2==0:v=v**2else:v=v+1returnv[f(v)forvin[2,3,4,-1]ifv0][4,4,16][v**2ifv%2==0elsev+1forvin[2,3,4,-1]ifv0][4,4,16]列表推导式列表推导式支持文件对象迭代例如,假设当前目录下的文件test.py有如下4行内容:aabbbccccddddd列表推导式使用列表推导式生成100以内的所有素数(在大于1的自然数中,除了1和它本身以外不再有其他因数的数)Built-inFunctions/2/library/functions.html列表元素的增加a=[1,2,4]b=[1,2,3]a==bFalseid(a)==id(b)Falseid(a[0])==id(b[0])Truea=[1,2,3]id(a)a.append(4)id(a)a.remove(3)a[1,2,4]id(a)a[0]=5a[5,2,4]id(a)列表元素的增加使用列表对象的extend()方法可以将另一个迭代对象的所有元素添加至该列表对象的尾部。通过extend()方法来增加列表元素不改变其内存首地址,属于原地操作。append()vs.extend()append():Appendsobjectatend.givesyou:[1,2,3,[4,5]]extend():Extendslistbyappendingelementsfromtheiterable.givesyou:[1,2,3,4,5]x=[1,2,3]x.append([4,5])printxx=[1,2,3]x.extend([4,5])printx列表元素的增加使用列表对象的insert()方法将元素添加至列表的指定位置列表元素的增加应尽量从列表尾部进行元素的增加与删除操作列表的insert()可以在列表的任意位置插入元素,但由于列表的自动内存管理功能,insert()方法会涉及到插入位置之后所有元素的移动,这会影响处理速度类似的还有后面介绍的remove()方法以及使用pop()函数弹出列表非尾部元素和使用del命令删除列表非尾部元素的情况列表元素的增加使用*运算符来扩展列表对象,将列表与整数相乘,生成一个新列表,新列表是原列表中元素的重复。a=[3,5,7]b=aid(a)id(b)a=a*3a[3,5,7,3,5,7,3,5,7]b[3,5,7]id(a)id(b)570
文档评论(0)