python列表笔记python列表用法及基础操作.doc

上传人:封****n 文档编号:96697897 上传时间:2024-03-10 格式:DOC 页数:23 大小:478.14KB
返回 下载 相关 举报
python列表笔记python列表用法及基础操作.doc_第1页
第1页 / 共23页
python列表笔记python列表用法及基础操作.doc_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《python列表笔记python列表用法及基础操作.doc》由会员分享,可在线阅读,更多相关《python列表笔记python列表用法及基础操作.doc(23页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、列表的介绍定义100个变量,每个变量存放一个学生的姓名可行吗?有更好的办法吗?答:列表一、列表的格式定义列的格式:元素1, 元素2, 元素3, ., 元素n变量tmp的类型为列表tmp = xiaoWang,180, 65.0列表中的元素可以是不同类型的二、使用下标获取列表元素namesList = xiaoWang,xiaoZhang,xiaoHuaprint(namesList0)print(namesList1)print(namesList2)结果:xiaoWangxiaoZhangxiaoHua列表的数据操作我们对于可变数据(例如,列表,数据库等)的操作,一般包含增、删、改、查四个方

2、面。一、添加元素添加元素有一下几个方法: append 在末尾添加元素 insert 在指定位置插入元素 extend 合并两个列表appendappend会把新元素添加到列表末尾 #定义变量A,默认有3个元素 A = xiaoWang,xiaoZhang,xiaoHua print(-添加之前,列表A的数据-A=%s % A) #提示、并添加元素 temp = input(请输入要添加的学生姓名:) A.append(temp) print(-添加之后,列表A的数据-A=%s % A)insertinsert(index, object) 在指定位置index前插入元素objectstrs

3、= a,b,m,sstrs.insert(3,h)print(strs) # a, b, m, h, sextend通过extend可以将另一个集合中的元素逐一添加到列表中a = a,b,cb = d,e,fa.extend(b)print(a) # a, b, c, d, e, f 将 b 添加到 a 里print(b) # d,e,f b的内容不变二、修改元素我们是通过指定下标来访问列表元素,因此修改元素的时候,为指定的列表下标赋值即可。 #定义变量A,默认有3个元素 A = xiaoWang,xiaoZhang,xiaoHua print(-修改之前,列表A的数据-A=%s % A) #

4、修改元素 A1 = xiaoLu print(-修改之后,列表A的数据-A=%s % A)三、查找元素所谓的查找,就是看看指定的元素是否存在,以及查看元素所在的位置,主要包含一下几个方法: in 和 not in index 和 countin, not inpython中查找的常用方法为: in(存在),如果存在那么结果为true,否则为false not in(不存在),如果不存在那么结果为true,否则false #待查找的列表 nameList = xiaoWang,xiaoZhang,xiaoHua #获取用户要查找的名字 findName = input(请输入要查找的姓名:) #

5、查找是否存在 if findName in nameList: print(在列表中找到了相同的名字) else: print(没有找到)结果1:(找到)结果2:(没有找到)说明:in的方法只要会用了,那么not in也是同样的用法,只不过not in判断的是不存在index, countindex用来查找元素所在的位置,如果未找到则会报错;count用来计算某个元素出现的次数。它们的使用和字符串里的使用效果一致。 a = a, b, c, a, b a.index(a, 1, 3) # 注意是左闭右开区间Traceback (most recent call last): File , li

6、ne 1, in ValueError: a is not in list a.index(a, 1, 4)3 a.count(b)2 a.count(d)0四、删除元素类比现实生活中,如果某位同学调班了,那么就应该把这个条走后的学生的姓名删除掉;在开发中经常会用到删除这种功能。列表元素的常用删除方法有: del:根据下标进行删除 pop:删除最后一个元素 remove:根据元素的值进行删除delmovieName = 加勒比海盗,骇客帝国,第一滴血,指环王,霍比特人,速度与激情print(-删除之前-movieName=%s % movieName)del movieName2print(-

7、删除之后-movieName=%s % movieName)popmovieName = 加勒比海盗,骇客帝国,第一滴血,指环王,霍比特人,速度与激情print(-删除之前-movieName=%s % movieName)movieName.pop()print(-删除之后-movieName=%s % movieName)removemovieName = 加勒比海盗,骇客帝国,第一滴血,指环王,霍比特人,速度与激情print(-删除之前-movieName=%s % movieName)movieName.remove(指环王)print(-删除之后-movieName=%s % mov

8、ieName)五、排序(sort, reverse)sort方法是将list按特定顺序重新排列,默认为由小到大,参数reverse=True可改为倒序,由大到小。reverse方法是将list逆置。 a = 1, 4, 2, 3 a1, 4, 2, 3 a.reverse() # 逆置,不排序 a3, 2, 4, 1 a.sort() # 默认从小到大排序 a1, 2, 3, 4 a.sort(reverse=True) # 从大到小排序 a4, 3, 2, 1列表的循环遍历1. 使用while循环为了更有效率的输出列表的每个数据,可以使用循环来完成namesList = xiaoWang,x

9、iaoZhang,xiaoHualength = len(namesList) # 获取列表长度i = 0while i numsi + 1: a = numsi numsi = numsi+1 numsi+1 = aprint(nums)3.4.有一个列表names,保存了一组姓名names=zhangsan,lisi,chris,jerry,henry,再让用户输入一个姓名,如果这个姓名在列表里存在,提示用户姓名已存在;如果这个姓名在列表里不存在,就将这个姓名添加到列表里。5.1. 列表嵌套类似while循环的嵌套,列表也是支持嵌套的一个列表中的元素又是一个列表,那么这就是列表的嵌套此处重

10、点掌握怎么操作被嵌套的列表 schoolNames = . 1, 2, 3,. 11, 22, 33,. 111, 222, 333. schoolNames12 # 获取数字 3333 schoolNames12 = abc # 把 33 修改为 abc schoolNames1, 2, 3, 11, 22, abc, 111, 222, 333 schoolNames122 # 获取 abc 里的字符cc也就是说,操作嵌套列表,只要把要操作元素的下标当作变量名来使用即可。2. 应用一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配import random#

11、定义一个列表用来保存3个办公室offices = ,# 定义一个列表用来存储8位老师的名字names = A,B,C,D,E,F,G,Hi = 0for name in names: index = random.randint(0,2) officesindex.append(name)i = 1for tempNames in offices: print(办公室%d的人数为:%d%(i,len(tempNames) i+=1 for name in tempNames: print(%s%name,end=) print(n) print(-*20)列表推导式所谓的列表推导式,就是指的轻

12、量级循环创建列表1. 基本的方式2. 在循环的过程中使用if3. 2个for循环4. 3个for循环练习请写出一段 Python 代码实现分组一个 list 里面的元素,比如 1,2,3,.100变成 1,2,3,4,5,6.参考答案:a = x for x in range(1,101)b = ax:x+3 for x in range(0,len(a),3)列表的复制查看以下代码,说出打印的结果。a = 12b = ab = 13print(b)print(a)nums1 = 1, 5, 8, 9, 10, 12nums2 = nums1nums20 = 100print(nums2)pr

13、int(nums1)思考:1. 为什么修改了 nums2里的数据,nums1的数据也会改变?Python中的赋值运算都是引用(即内存地址)的传递。对于可变类型来说,修改原数据的值,会改变赋值对象的值。1. 怎样nums1和nums2变成两个相互独立不受影响的列表?使用列表的 方法,或者 模块就可以赋值一个列表。列表的方法使用列表的方法,可以直接将原来的列表进行复制,变成一个新的列表,这种复制方式是浅复制。nums1 = 1, 5, 8, 9, 10, 12nums2 = nums1.() # 调用列表的方法,可以复制出一个新的列表nums20 = 100# 修改新列表里的数据,不会影响到原有列

14、表里的数据print(nums2)print(nums1)模块的使用除了使用列表的方法以外,Python还提供了模块来复制一个对象。模块提供了浅复制和深复制两种方式,它们的使用方式相同,但是执行的效果有一定的差异。浅拷贝浅拷贝是对于一个对象的顶层拷贝,通俗的理解是:拷贝了引用,并没有拷贝内容。import words1 = hello, good, yes, ok, bad# 浅拷贝只会拷贝最外层的对象,里面的数据不会拷贝,而是直接指向words2 = .(words1)words20 = 你好words220 = noprint(words1) # hello, good, no, ok,

15、bad# wrods2 里的 yes 被修改成了 noprint(words2) # 你好, good, no, ok, bad深拷贝深拷贝是对于一个对象所有层次的递归拷贝。import words1 = hello, good, yes, ok, bad# 深拷贝会将对象里的所有数据都进行拷贝words2 = .deep(words1)words20 = 你好words220 = noprint(words1) # hello, good, yes, ok, badprint(words2) # 你好, good, no, ok, bad切片列表和字符串一样,也支持切片,切片其实就是一种浅拷贝。words1 = hello, good, yes, ok, badwords2 = words1:words20 = 你好words220 = noprint(words1) # hello, good, no, ok, badprint(words2) # 你好, good, no, ok, bad

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com