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中Threading用法详解
Dec 27 Python
Python实现判断字符串中包含某个字符的判断函数示例
Jan 08 Python
解决python os.mkdir创建目录失败的问题
Oct 16 Python
Python中collections模块的基本使用教程
Dec 07 Python
python json.loads兼容单引号数据的方法
Dec 19 Python
Python线程之定位与销毁的实现
Feb 17 Python
在pytorch中动态调整优化器的学习率方式
Jun 24 Python
MATLAB数学建模之画图汇总
Jul 16 Python
Python numpy大矩阵运算内存不足如何解决
Nov 19 Python
Django 用户认证Auth组件的使用
Nov 30 Python
python 实现图片裁剪小工具
Feb 02 Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 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+ACCESS 文章管理程序代码
2010/06/21 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
浅谈使用PHP开发微信支付的流程
2015/10/04 PHP
php常用字符函数实例小结
2016/12/29 PHP
PHP7 弃用功能
2021/03/09 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
在网站上应该用的30个jQuery插件整理
2011/11/03 Javascript
使用Sticker.js实现贴纸效果
2015/01/28 Javascript
JavaScript去除数组里重复值的方法
2015/07/13 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
2016/12/19 Javascript
ES5 ES6中Array对象去除重复项的方法总结
2017/04/27 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
vue.js 图片上传并预览及图片更换功能的实现代码
2018/08/27 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
Python序列操作之进阶篇
2016/12/08 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
Python3实现发送QQ邮件功能(html)
2017/12/15 Python
python基础教程项目四之新闻聚合
2018/04/02 Python
Python 将Matrix、Dict保存到文件的方法
2018/10/30 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
Python 输出详细的异常信息(traceback)方式
2020/04/08 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
使用Pytorch搭建模型的步骤
2020/11/16 Python
python3实现简单飞机大战
2020/11/29 Python
开业庆典邀请函
2014/01/08 职场文书
临床专业自荐信
2014/06/22 职场文书
践行党的群众路线心得体会
2014/11/05 职场文书
2015年文员个人工作总结
2015/04/09 职场文书
新员工试用期工作总结2015
2015/05/28 职场文书
PHP策略模式写法
2021/04/01 PHP
Python绘制分类图的方法
2021/04/20 Python
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技