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 解析XML文件
Apr 15 Python
简洁的十分钟Python入门教程
Apr 03 Python
python使用nntp读取新闻组内容的方法
May 08 Python
详解Django通用视图中的函数包装
Jul 21 Python
Python使用logging结合decorator模式实现优化日志输出的方法
Apr 16 Python
Python面向对象class类属性及子类用法分析
Feb 02 Python
Python中字符串List按照长度排序
Jul 01 Python
TensorFlow查看输入节点和输出节点名称方式
Jan 04 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
Apr 30 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
Python操作MySQL数据库的示例代码
Jul 13 Python
通过案例解析python鸭子类型相关原理
Oct 10 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 array_push 数组函数
2009/12/26 PHP
Cakephp 执行主要流程
2010/03/24 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
thinkphp特殊标签用法概述
2014/11/24 PHP
WordPress中用于获取及自定义头像图片的PHP脚本详解
2015/12/17 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
PHP编程快速实现数组去重的方法详解
2017/07/22 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
写自已的js类库需要的核心代码
2012/07/16 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
jquery获取元素索引值index()示例
2014/02/13 Javascript
JsRender实用入门教程
2014/10/31 Javascript
在JavaScript应用中实现延迟加载的方法
2015/06/25 Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
2015/12/24 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
node+koa实现数据mock接口的方法
2017/09/20 Javascript
JavaScript this指向相关原理及实例解析
2020/07/10 Javascript
python中xrange和range的区别
2014/05/13 Python
处理Python中的URLError异常的方法
2015/04/30 Python
Django与JS交互的示例代码
2017/08/23 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
如何用Python合并lmdb文件
2018/07/02 Python
PyCharm 无法 import pandas 程序卡住的解决方式
2020/03/09 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
细说NumPy数组的四种乘法的使用
2020/12/18 Python
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
机械设计毕业生自荐信
2014/02/02 职场文书
创业计划实施的7大步骤
2014/02/05 职场文书
讲党性心得体会
2014/09/03 职场文书
2014公司年终工作总结
2014/12/19 职场文书
教师求职信怎么写
2015/03/20 职场文书
慰问信格式规范
2015/03/23 职场文书
立案决定书范文
2015/06/24 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
导游词之晋城蟒河
2019/12/12 职场文书
linux中nohup和后台运行进程查看及终止
2021/06/24 Python