Python insert() / append() 用法 Leetcode实战演示


Posted in Python onMarch 31, 2021

简单理解就是:
append()是和朋友一起在队尾依次排队
insert(index, object)就是你朋友已经在队列里了,你插队到你朋友的位置–> insert(‘你朋友的位置’, ‘你自己’)
以一道Leetcode例题演示Python中Insert和append的用法。

#好朋友B帮你占了位置,你站到了B前面
You = 'You'
Queue = ['A','B','C','D']
Queue.insert(1,You)
print(Queue)
#['A', 'You', 'B', 'C', 'D']

原题(Leetcode1389)

给你两个整数数组 nums 和 index。你需要按照以下规则创建目标数组:

目标数组 target 最初为空。
按从左到右的顺序依次读取 nums[i] 和 index[i],在 target 数组中的下标 index[i] 处插入值 nums[i] 。
重复上一步,直到在 nums 和 index 中都没有要读取的元素。
请你返回目标数组。

题目保证数字插入位置总是存在。

详细解法

class Solution:
    def createTargetArray(self, nums, index):
        res = [nums[0]]
        for i in range(1,len(index)):
            if index[i] > len(res)-1:
            #若index位置比当前队列长度还长,那理应排在后面,直接append队尾添加
                res.append(nums[i])
                print('---------append----------')
                print('append:',index[i],nums[i])
                print(res)
            else:
            #若index位置处于当前队列中间,则执行insert插队。
                res.insert(index[i],nums[i])
                print('---------insert----------')
                print('insert',index[i],nums[i])
                print(res)
        return res
            
x = Solution()
x = x.createTargetArray([5,3,3,5,1],[0,0,2,1,2])
print(x)

结果演示:
num: [5,3,3,5,1]
index: [0,0,2,1,2]

res= [5]
---------insert----------
insert 0 3
[3, 5]
---------append----------
append: 2 3
[3, 5, 3]
---------insert----------
insert 1 5
[3, 5, 5, 3]
---------insert----------
insert 2 1
[3, 5, 1, 5, 3]
[3, 5, 1, 5, 3]

Python 相关文章推荐
virtualenv实现多个版本Python共存
Aug 21 Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 Python
Python 爬取携程所有机票的实例代码
Jun 11 Python
selenium在执行phantomjs的API并获取执行结果的方法
Dec 17 Python
对Xpath 获取子标签下所有文本的方法详解
Jan 02 Python
利用Python实现微信找房机器人实例教程
Mar 10 Python
简单了解Python matplotlib线的属性
Jun 29 Python
python利用tkinter实现屏保
Jul 30 Python
python虚拟环境完美部署教程
Aug 06 Python
Python获取时间戳代码实例
Sep 24 Python
windows10环境下用anaconda和VScode配置的图文教程
Mar 30 Python
python 浮点数四舍五入需要注意的地方
Aug 18 Python
tensorflow学习笔记之tfrecord文件的生成与读取
Mar 31 #Python
Python中快速掌握Data Frame的常用操作
Mar 31 #Python
pycharm无法导入lxml的解决办法
python某漫画app逆向
python爬虫--selenium模块
Mar 31 #Python
【超详细】八大排序算法的各项比较以及各自特点
pandas 操作 Excel操作总结
Mar 31 #Python
You might like
php实现批量下载百度云盘文件例子分享
2014/04/10 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
PHP一个简单的无需刷新爬虫
2019/01/05 PHP
javascript 命名空间以提高代码重用性
2008/11/13 Javascript
可插入图片的TEXT文本框
2013/12/27 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
基于JavaScript实现鼠标向下滑动加载div的代码
2016/08/31 Javascript
jQuery与JavaScript节点创建方法的对比
2016/11/18 Javascript
vue + socket.io实现一个简易聊天室示例代码
2017/03/06 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
详解Nuxt.js Vue服务端渲染摸索
2018/02/08 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
详解Vue-Router源码分析路由实现原理
2019/05/15 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
微信小程序实现拼图小游戏
2020/10/22 Javascript
[40:29]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第一场
2018/04/10 DOTA
利用Python脚本在Nginx和uwsgi上部署MoinMoin的教程
2015/05/05 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
Python3监控疫情的完整代码
2020/02/20 Python
Python DES加密实现原理及实例解析
2020/07/17 Python
几道PHP的面试题
2012/05/19 面试题
工厂厂长的职责
2013/12/12 职场文书
师范生的个人求职信范文
2014/01/04 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
优秀员工评优方案
2014/06/13 职场文书
教师师德考核自我评价
2014/09/13 职场文书
2015年度个人业务工作总结
2015/04/27 职场文书
行为习惯主题班会
2015/08/14 职场文书
2016年教师党员公开承诺书
2016/03/24 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书