python中range函数与列表中删除元素
一、range函数使用
range(1,5) 代表从1到4(不包含5),结果为:1,2,3,4 ,默认步长为1
range(1,5,2) 结果为:1, 3 (同样不包含5) ,步长为2
range(5,-1,-1) 反向输出,结果为:5,4,3,2,1,0 ,此时步长为-1,相当于每次减去1
二、list列表删除元素注意事项
for i in range(0,len(array)-1):
if array[i]==array[i+1]:
del array[i+1]
分析:该方法进行删除的时候,每次删除的时候元素就少一个,但是一开始的range(0,len(array)-1)还是按最开始的元素长度去遍历,最终会报出列表越界的错误。
正确方法如下:
for i in range(len(array)-1,0,-1):
if array[i]==array[i-1]:
del array[i-1]
倒序删除与正序删除的不同示意图如下:
总结:列表元素删除时,是索引大的元素向前靠,所以对于后面的索引元素没有任何影响,而倒序索引正是从大到小索引,所以删除当前的元素,对于后面小的未遍历的索引没有任何影响。
python中range函数与列表中删除元素的更多相关文章
- python之BIF函数在列表中的应用
1 Python 3.3.4 (v3.3.4:7ff62415e426, Feb 10 2014, 18:13:51) [MSC v.1600 64 bit (AMD64)] on win32 2 T ...
- python中range()函数的用法
python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...
- python中字典排序,列表中的字典排序
python中字典排序,列表中的字典排序 一.使用python模块:operator import operator #首先要导入模块operator x = {1:2, 3:4, 4:3, 2:1, ...
- python的range()函数使用方法
python的range()函数使用非常方便.它能返回一系列连续添加的整数,它的工作方式类似于分片.能够生成一个列表对象. range函数大多数时常出如今for循环中.在for循环中可做为索引使用.事 ...
- Python的range()函数用法
Python的range()函数有三种用法,简单地说就是下图的三种用法: 运行结果如下:
- java:Conllection中的List,ArrayList添加元素,删除元素,输出元素
java:Conllection中的List,ArrayList添加元素,删除元素,输出元素 //为list接口实例化 List<String> addlist = new ArrayLi ...
- python中的函数存入list中的实例
最近由于接触了python这个强大的东西,在写代码时考虑到代码的扩展性,就想到了将python的函数名存入list中.有点像习惯的c/c++中的函数指针的意思. 下面上代码: # coding=utf ...
- python如何判断1个列表中所有的数据都是相等的?
方法一: 元素两两比较,如果有数据不同,则r的值变为false #!/usr/bin/python a=[22,22,22,22] b = len(a) r=True for i in range(b ...
- Python初学者笔记(3):输出列表中的奇数/奇数项,字符串中的偶数项,字符串大小写转换
[1]a=[8,13,11,6,26,19,24]1)请输出列表a中的奇数项2)请输出列表a中的奇数 解:1) a=[8,13,11,6,26,19,24] print a[::2] Result:& ...
随机推荐
- ubuntu 16.04 安装jdk9错误
转自:https://askubuntu.com/questions/769467/can-not-install-openjdk-9-jdk-because-it-tries-to-overwrit ...
- c++ int 负数 补码 隐式类型转换
unsigned y = ; ; cout << x + y << endl; 对于上述的结果为 这里面有一个负数的补码问题和不同类型之间的隐式类型转换问题 首先负数的表示方法 ...
- c++的一些编程技巧和细节
1.函数形参,如: CreateProcess( NULL, cmdbuf, NULL, ...
- arp_ignore
上一篇文件说了arp_announce,那么到这里arp_ignore,我们直接看代码应该也比较容易立即了 目前我知道的是arp_ignore = 0,只要IP是自己机器上的,都可以回复: 说实话就是 ...
- TCP协议详解7层和4层解析(美团,阿里) 尤其是三次握手,四次挥手 具体发送的报文和状态都要掌握
如果想了解HTTP的协议结构,原理,post,get的区别(阿里面试题目),请参考:HTTP协议 结构,get post 区别(阿里面试) 这里有个大白话的解说,可以参考:TCP/IP协议三次握手和四 ...
- [BZOJ4589]Hard Nim
description BZOJ 题意:\(n\)堆式子,每堆石子数量为\(\le m\)的质数,对于每一个局面玩\(Nim\)游戏,求后手必胜的方案数. data range \[n\le 10^9 ...
- [TJOI2013]最长上升子序列 平衡树
其实是一道性质题. 首先观察到插入的数是递增的, 那么根据上升子序列的性质, 我们的非法情况就是统计到了在一个数前面的后插入的数, 但是由于插入的数是递增的,显然插入这个数后,这个数就是最大的,所以除 ...
- BZOJ4827:[AH2017/HNOI2017]礼物——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=4827 https://www.luogu.org/problemnew/show/P3723 题面 ...
- HDU1561:The more, The Better——题解
http://acm.hdu.edu.cn/showproblem.php?pid=1561 ACboy很喜欢玩一种战略游戏,在一个地图上,有N座城堡,每座城堡都有一定的宝物,在每次游戏中ACboy允 ...
- cf 460 E. Congruence Equation 数学题
cf 460 E. Congruence Equation 数学题 题意: 给出一个x 计算<=x的满足下列的条件正整数n的个数 \(p是素数,2 ≤ p ≤ 10^{6} + 3, 1 ≤ a ...