python构造列表的方式以及列表基本操作
off999 2024-10-22 13:34 26 浏览 0 评论
1.构造列表
有两种常用的构造列表方式:
- 使用中括号[]
- 使用list()构造方法
使用(中)括号构建列表时,列表的元素可以跨行书写,这是python语法中各种括号类型的特性。
例如:
?
1 >>> [] # 空列表
2
3 >>> [1,2,3]
4 [1, 2, 3]
5
6 >>> L = [
7 1,
8 2,
9 3
10 ]
11
12 >>> list('abcde')
13 ['a', 'b', 'c', 'd', 'e']
14
15 >>> list(range(0, 4))
16 [0, 1, 2, 3]
?
上面range()用于生成一系列数值,就像Linux下的seq命令一样。但是range()不会直接将数据生成出来,它返回的是一个可迭代对象,表示可以一个一个地生成这些数据,所以这里使用list()将range()的数据全部生成出来并形成列表。
中括号方式构造列表有一个很重要的特性:列表解析,很多地方也称为"列表推到"。例如:
?1 >>> [x for x in 'abcdef'] 2 ['a', 'b', 'c', 'd', 'e', 'f']
list()是直接将所给定的数据一次性全部构造出来,直接在内存中存放整个列表对象。列表推导方式构造列表比list()要快,且性能差距还挺大的。
2.列表基本操作
列表支持+ *符号操作:
?1 >>> L = [1,2,3,4]
2 >>> L1 = ['a','b','c']
3
4 >>> L + L1
5 [1, 2, 3, 4, 'a', 'b', 'c']
6
7 >>> [1,2] + list("34")
8 [1, 2, '3', '4']
9
10 >>> L * 2
11 [1, 2, 3, 4, 1, 2, 3, 4]
12 >>> 2 * L
13 [1, 2, 3, 4, 1, 2, 3, 4]
可以通过+=的方式进行二元赋值:
?1 >>> L1 = [1,2,3,4] 2 >>> L2= [5,6,7,8] 3 4 >>> L1 += L2 5 >>> L1 6 [1, 2, 3, 4, 5, 6, 7, 8]
L1 += L2的赋值方式对于可变序列来说(比如这里的列表),性能要好于L1 = L1 + L2的方式。前者直接在L1的原始地址内进行修改,后者新创建一个列表对象并拷贝原始L1列表。但实际上,性能的差距是微乎其微的,前面说过列表中保存的是元素的引用,所以拷贝也仅仅只是拷贝一些引用,而非实际数据对象。
列表是序列,序列类型的每个元素都是按索引位置进行存放的,所以可以通过索引的方式取得列表元素:
?1 >>> L = [1,2,3,4,5] 2 >>> L[0] 3 1 4 5 >>> L = [ 6 ... [1,2,3,4], 7 ... [11,22,33,44], 8 ... [111,222,333,444] 9 ... ] 10 11 >>> L[0][2] 12 3 13 >>> L[1][2] 14 33 15 >>> L[2][2] 16 333
当然,也可以按索引的方式给给定元素赋值,从而修改列表:
?1 >>> L = [1,2,3,4,5] 2 >>> L[0] = 11
通过赋值方式修改列表元素时,不仅可以单元素赋值修改,还可以多元素切片赋值。
?1 >>> L[1:3] = [22,33,44,55] 2 >>> L 3 [11, 22, 33, 44, 55, 4, 5]
上面对列表的切片进行赋值时,实际上是先取得这些元素,删除它们,并插入新数据的过程。所以上面是先删除[1:3]的元素,再在这个位置处插入新的列表数据。
所以,如果将某个切片赋值为空列表,则表示直接删除这个元素或这段范围的元素。
?1 >>> L 2 [11, 22, 33, 44] 3 4 >>> L[1:3] = [] 5 >>> L 6 [11, 44]?
但如果是将空列表赋值给单个索引元素,这不是表示删除元素,而是表示将空列表作为元素嵌套在列表中。
?1 >>> L = [1,2,3,4] 2 >>> L[0] = [] 3 >>> L 4 [[], 2, 3, 4]?
觉得文章还可以的话不妨收藏起来慢慢看,有任何意见或者看法欢迎大家评论!
如果你对编程感兴趣,想要python相关的学习资料或者面试真题等,可以关注我并在后台私信小编:“08”即可免费领取!希望对你能有所帮助!
相关推荐
- 百度云盘官网(百度云盘官网下载)
-
网盘在手机上面仅仅是一个图标,他是不占用手机硬盘的,当然,如果你从网盘上下载了文件到本地,下载的文件就会占用手机的硬盘空间。要找到这个文件,可以通过文件管理器来进行查找,也可以通过路径的方式来查找,但...
-
- 路由器设置管理系统(路由器设置管理员密码怎么设置)
-
电脑端:把华为路由器接通电源,并开启WIFI,如果你使用电脑PC端,请使用网线连接路由器;成功连接到路由器之后,打开电脑浏览器,在浏览器中输入IP地址:192.168.3.1即可进入华为路由器管理界面;进入我要上网页面。在上网方式下拉框中,...
-
2025-11-12 07:51 off999
- win10家庭版密钥在哪里看(windows10家庭版密钥在哪里)
-
要查看Windows10系统的激活密钥,请按照以下步骤操作: 1.点击“开始”菜单,然后选择“设置”(齿轮图标)。 2.在“设置”窗口中,选择“更新和安全”。 ...
- 两个wifi路由器怎么连接(两个wifi路由器设置方法)
-
无线路由器再连接一个无线路由器的设置方法如下:一、主路由器设置方法:先将网线(总线)插在无线路由器的WAN口,用一条网线一头插入无线路由器的任意LAN口一头连接电脑网卡,开启路由器的电源。电脑打开浏览...
- windows7的安装过程(windows7安装步骤有哪些)
-
安装教程注意事项:1、本系统可以直接安装,不需要制作U盘启动盘,适合能正常开机的电脑。2、安装系统后C盘(包括桌面)数据会丢失,重要的东西请自行备份。3、此安装方法只适用于当前系统为XP、Win7、W...
- 惠普打印机插件手机版(惠普打印插件app)
-
您好,感谢您选择惠普产品。不是所有的打印机都可以实现手机打印功能的。一般来说支持ariprint的打印机,并且手机也有该功能,才能实现打印功能。如果您不需要实现打印功能,那么这个插件对您来说可能用处不...
- 电脑热点怎么禁止别人连接(怎么让电脑的热点不被关闭)
-
方法/步骤1/7首先,在我们的屏幕上找到“设置”。2/7点击进入设置之后,正数第三位就是个人热点。3/7在个人热点中,我们可以设置热点密码,开启关闭热点。4/7排名第三的是连接管理,可以设置允许一个至...
- 常用浏览器有哪些
-
电脑常用浏览器好用的方法步骤1从用户体验和功能扩展性来看,Chrome是最好用的浏览器。2Chrome拥有快速的页面加载速度、优秀的标签页管理和内置的开发者工具等功能,还有不断更新的扩展程序,能够...
- u盘怎么取消读写保护(优盘怎么去掉读写保护)
-
如果您的U盘启动了读写保护,那么就无法进行数据的读取和写入操作。以下是一些可能的解决方法:1.检查开关或按钮:一些U盘有物理开关或按钮,用于启用或禁用读写保护。您可以检查一下U盘上是否有这样的开关或...
-
- 打印机脱机无法打印怎么办(打印机脱机无法打印故障处理)
-
打印机脱机无法打印怎么办?在使用打印机的过程中,经常会遇到打印机无法打印的问题,如果你的打印机已经正常使用了一段时间,而是现在打印机无法打印了,那么很可能是你的打印机脱机了。我们该怎么办呢?首先我们拿到打印机,要把它的电源线,USB打印线与...
-
2025-11-12 03:51 off999
- 激活码怎么激活(激活码怎么激活steam)
-
首先,启动电脑,在键盘按下“Win+R”,然后“运行”程序。然后,在“运行”的对话框输入“regedit”,回车确定输入命令然后,在窗口的左侧菜单选择“HKEY_LOCAL_MACHINE\SOFTW...
- 电脑动不动就卡住不动怎么回事
-
可能出现卡死原因:1、病毒引起,使你的电脑检测通过的程序太多,CPU主频性能不能充分发挥出来。2、温度过高,散热不好,使CPU性能下降。3、内存条太小,内存缺陷。5、可能设置了开机后自动登陆太多,自动...
- 笔记本风扇声音大怎么办(笔记本风扇声音非常大)
-
1.清理笔记本风扇灰尘一般而言,新买来的风扇总是噪声较小,而使用一段时间后会明显变大。其实,灰尘是造成风扇噪音上升的重要原因之一,因为无孔不入的灰尘总能钻进不完全密闭的机箱。当CPU风扇高速旋转时,漩...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
