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的Tornado框架中内置的模板引擎
Jul 11 Python
python代码实现ID3决策树算法
Dec 20 Python
python实现决策树ID3算法的示例代码
May 30 Python
Python脚本完成post接口测试的实例
Dec 17 Python
python实现一个简单的ping工具方法
Jan 31 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
完美解决keras保存好的model不能成功加载问题
Jun 11 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
Jul 03 Python
基于Python实现简单学生管理系统
Jul 24 Python
Python虚拟环境的创建和使用详解
Sep 07 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
python geopandas读取、创建shapefile文件的方法
Jun 29 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
从MySQL数据库表中取出随机数据的代码
2007/09/05 PHP
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
PHP获取数组中重复最多的元素的实现方法
2014/11/11 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
JavaScript的public、private和privileged模式
2009/12/28 Javascript
修改jquery.lazyload.js实现页面延迟载入
2010/12/22 Javascript
Javascript 面向对象(一)(共有方法,私有方法,特权方法)
2012/05/23 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
JavaScript中对象的不同创建方法
2016/08/12 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
Javascript循环删除数组中元素的几种方法示例
2017/05/18 Javascript
微信小程序picker组件下拉框选择input输入框的实例
2017/09/20 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
使用Sonarqube扫描Javascript代码的示例
2018/12/26 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
python使用pandas实现数据分割实例代码
2018/01/25 Python
python组合无重复三位数的实例
2018/11/13 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
2019/01/23 Python
python浪漫表白源码
2019/04/05 Python
Python 异步协程函数原理及实例详解
2019/11/13 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
新员工入职感言
2014/02/01 职场文书
大型会议接待方案
2014/03/01 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
文明礼仪标语
2014/06/13 职场文书
食品安全责任书范本
2015/05/09 职场文书
小学生纪律委员竞选稿
2015/11/19 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server
Centos7 Shell编程之正则表达式、文本处理工具详解
2022/08/05 Servers