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中动态获取对象的属性和方法的教程
Apr 09 Python
python使用分治法实现求解最大值的方法
May 12 Python
Django中的Model操作表的实现
Jul 24 Python
win8下python3.4安装和环境配置图文教程
Jul 31 Python
Pycharm无法使用已经安装Selenium的解决方法
Oct 13 Python
python微元法计算函数曲线长度的方法
Nov 08 Python
带你认识Django
Jan 15 Python
基于Python实现签到脚本过程解析
Oct 25 Python
Python 文件数据读写的具体实现
Jan 24 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
python为QT程序添加图标的方法详解
Mar 09 Python
Python classmethod装饰器原理及用法解析
Oct 17 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
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
取选中的radio的值
2010/01/11 Javascript
深入理解Javascript闭包 新手版
2010/12/28 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
2014/10/31 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
2015/06/20 Javascript
clipboard.js在移动端复制失败的解决方法
2018/06/13 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
浅谈一种让小程序支持JSX语法的新思路
2019/06/16 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
python开发中module模块用法实例分析
2015/11/12 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
Python3中exp()函数用法分析
2019/02/19 Python
TensorFlow2.1.0最新版本安装详细教程
2020/04/08 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
基于 HTML5 WebGL 实现的医疗物流系统
2019/10/08 HTML / CSS
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
澳大利亚最超值的自行车之家:Reid Cycles
2019/03/24 全球购物
会计专业自我评价
2014/02/12 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
租房协议书范例
2014/10/14 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
综治工作汇报材料
2014/10/27 职场文书
2015年法院工作总结范文
2015/04/28 职场文书
《风筝》教学反思
2016/02/23 职场文书
投资入股协议书
2016/03/22 职场文书
Python办公自动化解决world文件批量转换
2021/09/15 Python
使用canvas仿Echarts实现金字塔图的实例代码
2021/11/11 HTML / CSS
mysql查看表结构的三种方法总结
2022/07/07 MySQL