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学习笔记整理3之输入输出、python eval函数
Dec 14 Python
python 简单备份文件脚本v1.0的实例
Nov 06 Python
Python使用try except处理程序异常的三种常用方法分析
Sep 05 Python
Python读取txt某几列绘图的方法
Oct 14 Python
Python3 max()函数基础用法
Feb 19 Python
Python后台开发Django会话控制的实现
Apr 15 Python
使用python判断jpeg图片的完整性实例
Jun 10 Python
python实现KNN分类算法
Oct 16 Python
基于Django实现日志记录报错信息
Dec 17 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
Mar 19 Python
Python urllib.request对象案例解析
May 11 Python
python打包生成so文件的实现
Oct 30 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 radio 单选框获取与保持值的实现代码
2010/05/15 PHP
php中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
laravel 5 实现模板主题功能
2015/03/02 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
Docker配置PHP开发环境教程
2016/12/21 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
JavaScript中Object和Function的关系小结
2009/09/26 Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
2012/12/16 Javascript
jQuery 全选/反选以及单击行改变背景色实例
2013/07/02 Javascript
JavaScript中输出标签的方法
2014/08/27 Javascript
JavaScript中最简洁的编码html字符串的方法
2014/10/11 Javascript
jquery实现红色竖向多级向右展开的导航菜单效果
2015/08/31 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
2017/07/27 Javascript
vue中使用input[type="file"]实现文件上传功能
2018/09/10 Javascript
微信小程序实现商城倒计时
2020/11/01 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
中专毕业自我鉴定
2013/10/16 职场文书
中专毕业生求职简历的自我评价
2013/10/21 职场文书
服务中心夜班服务员岗位职责
2013/11/27 职场文书
数控专业应届生求职信
2013/11/27 职场文书
教育学习自我评价
2014/02/03 职场文书
专业技术职务聘任书
2014/03/29 职场文书
幼儿园运动会口号
2014/06/07 职场文书
机械专业技术员求职信
2014/06/14 职场文书
法人身份证明书
2014/10/08 职场文书
暑期社会实践证明书
2014/11/17 职场文书
创先争优个人总结
2015/03/04 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
领导干部失职检讨书
2015/05/05 职场文书
关于mysql中时间日期类型和字符串类型的选择
2021/11/27 MySQL
vue 自定义组件添加原生事件
2022/04/21 Vue.js