Python List 切片操作
发布日期:2021-11-15 14:58:06
浏览次数:38
分类:技术文章
本文共 830 字,大约阅读时间需要 2 分钟。
前沿
今天在做LeetCode88题时(题目如下图所示),一开始想用切片操作快速完成,但发现对nums1的操作,只是简单的拷贝,并没有对nums1本身进行改变,输出还是[1,2,3,0,0,0]。所以在这里对python的List切片操作进行详细的总结,以后忘了方便查看。
一.正常切片操作
slice[start_index:end_index:step]
注意:end_index并不包含该下标对应的值
>>>s=[1,2,3,4,5]#切取单个元素>>>s[2] 3#切取下标连续的列表>>>s[0:2][1,2] #默认step为1>>>s[0:5:2][1,3,5] #step为2>>>s[3:0:-1][4,3,2] #step为-1,注意从start_index开始从“右往左”移动#列表类型的元素可以是混合的>>>mix_list=[4.0, [1, 'x'], 'beef', (-1.9+6j)]>>> mix_list[1] [1, 'x']#多层切片 (仍然使用mix_list>>>mix_list[1][1]'x'>>>mix_list[1][1]=99>>>mix_list[4.0, [1, 99], 'beef', (-1.9+6j)]
二. 切片的复制和引用
这部分就是我此题出错原因之一
>>>a=[1,2,3]>>>id(a)4393900104>>>b=a #直接赋值>>>id(b)4393900104 #b也指向a指向的地址,所以对b的操作会影响到a>>>b[0]=5>>>b[5,2,3]>>>a[5,2,3]>>>c=a[:] #使用切片进行复制操作>>>id(c)4393899912 #此时c和a不一样,对c的操作影响不到a>>>c[0]=9>>>c[9,2,3]>>>a[5,2,3]
参考博客
(https://www.jianshu.com/p/15715d6f4dad)
转载地址:https://blog.csdn.net/qq_39751320/article/details/104255600 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月14日 17时31分39秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux shell — 6.初识 EXT2 文件系统
2019-04-27
Java — String(字符串)
2019-04-27
linux shell — 7.linux 磁盘与文件系统管理
2019-04-27
linux shell — 8.linux 磁盘与文件系统管理(2)
2019-04-27
Java — 事件监听、事件处理 初体验
2019-04-27
linux — Centos 7(第一天) 使用时出现的问题及解决方法
2019-04-27
数据结构 — 图的概述
2019-04-27
Centos 7 上 Eclipse 无法输入中文解决方法
2019-04-27
数据结构 — 图之邻接表存储创建和深度优先遍历
2019-04-27
Centos 7 — Gedit 配色方案
2019-04-27
数据结构 — 图 之 广度优先遍历
2019-04-27
数据结构 — 图 之 MST(最小生成树 — prim算法 )
2019-04-27
数据结构 — 图 之 MPT(最短路径 — dijkstra算法 )
2019-04-27
数据结构 — 7.有向图的创建及出入度的计算
2019-04-27
数据结构 — 图 之 拓扑排序 (AOV网)
2021-06-30
数据结构 — 图 之 关键路径、关键活动 (文字表述)
2021-06-30
数据结构 — 树 与 二叉树、森林
2019-04-27
数据结构 — 二叉树(创建、遍历)java实现
2019-04-27