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基础教程之元组操作使用详解
Mar 25 Python
详解Python3中字符串中的数字提取方法
Jan 14 Python
python django 访问静态文件出现404或500错误
Jan 20 Python
Python基于回溯法子集树模板解决m着色问题示例
Sep 07 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
基于PyQt4和PySide实现输入对话框效果
Feb 27 Python
对Python中TKinter模块中的Label组件实例详解
Jun 14 Python
Django REST framework内置路由用法
Jul 26 Python
python模板入门教程之flask Jinja
Apr 11 Python
Python可视化神器pyecharts绘制地理图表
Jul 07 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&MYSQL分页原理及实现
2007/01/02 PHP
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
2007/04/16 PHP
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
php foreach 参数强制类型转换的问题
2010/12/10 PHP
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
php实现的中秋博饼游戏之绘制骰子图案功能示例
2017/11/06 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
新鲜出炉的js tips提示效果
2011/04/03 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
js 获取计算后的样式写法及注意事项
2013/02/25 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
JavaScript实现网页对象拖放功能的方法
2015/04/15 Javascript
javascript截取字符串小结
2015/04/28 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
Vue.set()实现数据动态响应的方法
2018/02/07 Javascript
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
Python bsddb模块操作Berkeley DB数据库介绍
2015/04/08 Python
利用python 更新ssh 远程代码 操作远程服务器的实现代码
2018/02/08 Python
Python字典的核心底层原理讲解
2019/01/24 Python
Python 3 判断2个字典相同
2019/08/06 Python
python Kmeans算法原理深入解析
2019/08/23 Python
Python 3.8正式发布,来尝鲜这些新特性吧
2019/10/15 Python
python编写俄罗斯方块
2020/03/13 Python
翻转数列python实现,求前n项和,并能输出整个数列的案例
2020/05/03 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
体育教育毕业生自荐信
2013/11/21 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
员工试用期自我评价
2014/09/18 职场文书
2014年党员整改措施
2014/10/24 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
Redis如何一键部署脚本
2021/04/12 Redis