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 相关文章推荐
分析在Python中何种情况下需要使用断言
Apr 01 Python
合并百度影音的离线数据( with python 2.3)
Aug 04 Python
为Python的Tornado框架配置使用Jinja2模板引擎的方法
Jun 30 Python
Python编程实战之Oracle数据库操作示例
Jun 21 Python
Python实现破解12306图片验证码的方法分析
Dec 29 Python
运动检测ViBe算法python实现代码
Jan 09 Python
教你用Python写安卓游戏外挂
Jan 11 Python
python模拟斗地主发牌
Apr 22 Python
python用opencv完成图像分割并进行目标物的提取
May 25 Python
TensorFlow2.0使用keras训练模型的实现
Feb 20 Python
python Autopep8实现按PEP8风格自动排版Python代码
Mar 02 Python
Python实现随机生成迷宫并自动寻路
Jun 13 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类的自动载入机制
2016/09/16 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
Laravel实现短信注册的示例代码
2018/05/29 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
2018/10/15 PHP
Javascript - HTML的request类
2006/07/15 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
Jquery实现仿新浪微博获取文本框能输入的字数代码
2013/02/22 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
js确认删除对话框效果的示例代码
2014/02/20 Javascript
使用js Math.random()函数生成n到m间的随机数字
2014/10/09 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
JavaScript File API实现文件上传预览
2016/02/02 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
详解Node.js模块间共享数据库连接的方法
2016/05/24 Javascript
JavaScript 事件流、事件处理程序及事件对象总结
2017/04/01 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
[01:06:18]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第二场 1月26日
2021/03/11 DOTA
从零学Python之引用和类属性的初步理解
2014/05/15 Python
python 求某条线上特定x值或y值的点坐标方法
2019/07/09 Python
Django models filter筛选条件详解
2020/03/16 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
python3中for循环踩过的坑记录
2020/12/14 Python
水芝澳美国官网:H2O Plus
2016/10/15 全球购物
英国花园、DIY、电器和家居用品商店:Robert Dyas
2019/03/18 全球购物
eBay意大利购物网站:eBay.it
2019/09/04 全球购物
优秀民警事迹材料
2014/01/29 职场文书
秋季运动会活动方案
2014/02/05 职场文书
《值日生》教学反思
2014/02/17 职场文书
外贸采购员岗位职责
2014/03/08 职场文书
高考备战决心书
2014/03/11 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
钱学森电影观后感
2015/06/04 职场文书
2016年基层党支部书记公开承诺书
2016/03/25 职场文书
Mysql忘记密码解决方法
2022/02/12 MySQL