前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python学习笔记整理(五)Pytho

Python学习笔记整理(五)Pytho

作者头像
py3study
发布2020-01-07 11:38:23
4590
发布2020-01-07 11:38:23
举报
文章被收录于专栏:python3python3python3

列表和字段,这两种类型几乎是Python所有脚本的主要工作组件。他们都可以在原处进行修改,可以按需求增加或缩短,而且包含任何种类的对象或者被嵌套。 一、列表 列表的主要属性: *任意对象的有序集合 从功能上看,列表就是收集其他对象的地方,可以把它看作组。列表所包含每一项都保持了从左到右的位置顺序(它们是序列) *通过偏移读取 和字符串一样,可以通过列表对象的偏移对其进行索引,从而读取对象的某一部分内容。可以自行分片和合并之类的任务。 *可变长度,异构以及任意嵌套 列表可以实地增长或者缩短,并且可以包含任何类型的对象。支持任意的嵌套,可以创建列表的子列表的子列表。 *属于可变序列的分类 列表可以在原处修改。序列操作在列表与字符串中的工作方式相同。唯一的区别是:当合并和分片这样的操作当应用于列表时, 返回新的列表而不是新的字符串。然而列表是可变的,因为它们支持字符串不支持的其他操作,例如删除和索引赋值操作。 它们都是在原处修改列表。 *对象引用数组 列表包含了0或多个其他对象的引用。包含任何对象,对象可以是字典,也就是说可以嵌套字典。在Python解释器内部,列表就是C数组而不是链接结构。常见的具有代表性的列表操作。更多可以查阅Python的标准库或help(list)或dir(list)查看list方法的完整列表清单。 操作        解释 L1=[]        一个空的列表 L2=[0,1,2,3]    四项:索引0到3 L3=['abc',['def','ghi']]    嵌套的子列表 L2[i]        索引 L2[i][j]    索引的索引 L2[i:j]        分片 len(L2)        求长度 L1+l2        合并 L2*        重复 for x in L2    迭代 3 in L2        成员 L2.append(4)    方法:增加 增加单个对象 L2.extend([5,6,7]) 方法:增加对多个对象 L2.sort()     方法:排序 L3.index('abc')     方法:通过对象查找对象索引(和索引相反的操作) L2.insert(I,X)     方法:插入(在I位置插入X)。

insert() 插入的位置超过了列表的范围会插入得到列表最后一个位置。 L2.reverse()      方法:翻转 L2.remove('b')     方法:移除 方法的参数 填写的对象 L2.pop(1)      方法:移除 方法的参数填写的是索引 del L2[K]     裁剪:k为裁剪掉的索引 del L2[i:j]     裁剪: L2[i]=1         索引赋值 L2[i:j]=[4,5,6]     分片赋值 rang(4)         生成整数列表/元组 xrange(1,4)     L4=[x**2 for x in range(5)]    列表解析 二、实际应用中的列表 1、基本列表操作 合并和重复,和字符串基本一致,不过结果是一个新的列表,而不是一个字符串。 >>> len([1,2,3]) 3 >>> [1,2,3]+[4,5,6] [1, 2, 3, 4, 5, 6] >>> ['diege',18]*3 ['diege', 18, 'diege', 18, 'diege', 18] >>> 3 in [1,2,3] True >>> for x in [1,2,3]:print x, ... 1 2 3 注意“+”操作和字符串中的一样,然而值得重视的时"+"两边必须是相同类型的序列。不能将一个列表和一个字符串合并 到一起,除非先把列表转换为字符串。 >>> str([1,2]) + '34' '[1, 2]34' >>> [1,2]+list('34') [1, 2, '3', '4'] 2、索引,分片,矩阵 对列表进行索引的结果就是你指定的偏移处的对象(不管是什么类型),而对列表进行分片时往往返回一个新的列表 >>> L=['diege','lily','keylly'] >>> L[1] 'lily' >>> L[-1] 'keylly' >>> L[1:] ['lily', 'keylly'] >>> LL=[[1,2,3],[4,5,6],[7,8,9]] >>> LL[2] [7, 8, 9] >>> LL[1][2] 6 三、原处修改列表 列表可变,支持实地改变列表对象的操作,以下操作都可以直接修改列表对象,而不会像字符串那样强迫你建立一个新的拷贝。因为python只处理对象引用,所以需要将原处修改一个对象与生成一个新的对象区分开来。 1、索引和分片赋值 赋值给一个特定的项(偏移)或整个片段(分片)来改变列表的内容。 >>> L=['diege','lily','keylly'] >>> L[1]='tom' >>> L ['diege', 'tom', 'keylly'] >>> L[0:2]=['boo','july'] >>> L ['boo', 'july', 'keylly']

>>> L ['lily', 'kelly', 'x', [1, 2, 3]] >>> L[0:2]=['lily','kelly','fang'] >>> L ['lily', 'kelly', 'fang', 'x', [1, 2, 3]] 分片赋值可以分成两步来理解。先删除,再插入。

列表嵌套字典

>>> L ['diege', {'tow': 789, 'one': 456}, 999] >>> L[1]       {'tow': 789, 'one': 456} >>> L[1]['one'] 456 2、列表方法调用 1)、append() 追加一个元素

注意:追加是追加一个对象,一个字符串,一个列表等 >>> L ['boo', 'july', 'keylly'] >>> L.append('jun') >>> L ['boo', 'july', 'keylly', 'jun']

>>> L ['lily', 'kelly', 'fang', 'x', [1, 2, 3], 'wang'] >>> L.append(['wang','fei']) >>> L ['lily', 'kelly', 'fang', 'x', [1, 2, 3], 'wang', ['wang', 'fei']] 2)、extend() 在末端插入多个元素

放一个字符串会分解成字符插入,所以插入的参数要放入列表中。

>>> L.extend('test') >>> L ['lily', 'kelly', 'fang', 'x', [1, 2, 3], 'wang', 't', 'e', 's', 't']

>>> del L[5:]

>>> L             ['lily', 'kelly', 'fang', 'x', [1, 2, 3]] >>> L.extend(['zhang','wang'])    >>> L ['lily', 'kelly', 'fang', 'x', [1, 2, 3], 'zhang', 'wang']

>>> L=[1,2] >>> L.extend([3,4,5]) >>> L [1, 2, 3, 4, 5] 3)、insert() 插入 要指定插入的位置和数据

insert() 插入的位置超过了列表的范围会插入得到列表最后一个位置。 >>> L.insert(1,5) >>> L [1, 5, 4] >>> L.insert(2,[6,7,9]) >>> L [1, 5, [6, 7, 9], 4]

>>> L=['diege','lily'] >>> L.insert(1,'kelly') >>> L ['diege', 'kelly', 'lily'] 4)、pop()  删除一个元素 pop()      方法:移除 方法的参数填写的是索引,默认最后一个 >>> L [1, 2, 3, 4, 5] >>> L.pop() 5 >>> L [1, 2, 3, 4] 可以指定要删除的索引 >>> L.pop(2) 3 >>> L       [1, 2, 4] 5)、remove() 移除 必须指定对象名 >>> L.remove(2) >>> L [1, 4]

6)、sort() 排序 >>> L.sort() >>> L ['boo', 'july', 'jun', 'keylly'] 7)、reverse() 序列反转 >>> L.reverse()    >>> L ['keylly', 'jun', 'july', 'boo'] >>> L ['diege', 'kelly'] >>> L.remove('diege') >>> L ['kelly']

注意 不支持find()和replace()方法,这两个方法属于字符串 3、其他常见的列表操作 del  L[1] >>> L [1, 5, [6, 7, 9], 4] >>> del  L[1] >>> L [1, [6, 7, 9], 4] >>> del  L[1:] >>> L [1] >>> L=['diege',1,5] >>> L[1:]=[] >>> L ['diege']

5个0列表的创建三种方法 [0]*5 >>> >>> [0 for i in range(5)] >>> L=[] >>> for i in range(5): ...  L.append(0

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档