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中Genarator函数用法分析
Apr 08 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
Apr 21 Python
Python 对象中的数据类型
May 13 Python
python爬虫实战之最简单的网页爬虫教程
Aug 13 Python
pandas修改DataFrame列名的方法
Apr 08 Python
Python实现定期检查源目录与备份目录的差异并进行备份功能示例
Feb 27 Python
Python中py文件转换成exe可执行文件的方法
Jun 14 Python
基于Python实现扑克牌面试题
Dec 11 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 Python
python db类用法说明
Jul 07 Python
Python远程方法调用实现过程解析
Jul 28 Python
python可视化分析的实现(matplotlib、seaborn、ggplot2)
Feb 03 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
使用 eAccelerator加速PHP代码的方法
2007/09/30 PHP
什么情况下可以不写PHP的闭合标签“?>”
2014/08/28 PHP
dedecms中使用php语句指南
2014/11/13 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
原生js实现移动开发轮播图、相册滑动特效
2015/04/17 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
学习jQuey中的return false
2015/12/18 Javascript
用window.onerror捕获并上报Js错误的方法
2016/01/27 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
详解vue组件中使用路由方法
2019/02/12 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
js实现ajax的用户简单登入功能
2020/06/18 Javascript
[15:20]DOTA2亚洲邀请赛总决赛开幕式表演:羽泉献唱
2017/04/05 DOTA
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
python中ConfigParse模块的用法
2014/09/29 Python
TensorFlow模型保存和提取的方法
2018/03/08 Python
python实现人脸签到系统
2020/04/13 Python
基于python实现把json数据转换成Excel表格
2020/05/07 Python
python解决OpenCV在读取显示图片的时候闪退的问题
2021/02/23 Python
美国东北部户外服装和设备零售商:Eastern Mountain Sports
2016/10/05 全球购物
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
中国电子产品批发商/跨境电商/外贸网:Sunsky-online
2020/04/20 全球购物
大学四年学习的自我评价分享
2013/12/09 职场文书
踏青活动策划方案
2014/08/19 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
检讨书范文2000字
2015/01/28 职场文书
离婚上诉状范文
2015/05/23 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
vue封装数字翻牌器
2022/04/20 Vue.js