python列表反转
使用reverse来让列表反转特别方便, 没事自己写了几种方式
In [59]: def reverse(nums):
length = len(nums)
for i in range(length-1):
nums.insert(length-i-1, nums.pop(0))
print nums
....:
In [60]:
In [60]:
In [60]: a = range(5)
In [61]: reverse(a)
[1, 2, 3, 4, 0]
[2, 3, 4, 1, 0]
[3, 4, 2, 1, 0]
[4, 3, 2, 1, 0]
In [62]: a
Out[62]: [4, 3, 2, 1, 0]
In [63]:
根据结果能看出, insert操作的执行顺序是先删除, 后插入
In [67]: def reverse(nums):
i, j = 0, len(nums)-1
while i < j:
nums[i], nums[j] = nums[j], nums[i]
i, j = i+1, j-1
print nums
In [69]: a = range(5)
In [70]: a
Out[70]: [0, 1, 2, 3, 4]
In [71]:
In [71]: reverse(a)
[4, 1, 2, 3, 0]
[4, 3, 2, 1, 0]
In [72]: a
Out[72]: [4, 3, 2, 1, 0]
In [73]:
以上两种都是原地操作
In [78]: a
Out[78]: [0, 1, 2, 3, 4]
In [79]:
In [79]: b = []
In [80]: def reverse(nums):
....: for i in nums:
....: b.insert(0, i)
....:
In [81]:
In [81]: reverse(a)
In [82]:
In [82]: b
Out[82]: [4, 3, 2, 1, 0]
In [83]: id(a)
Out[83]: 140434157093160
In [84]: id(b)
Out[84]: 140434157062984
In [85]:
python列表反转的更多相关文章
- python 列表反转
反转: 将原列表反转,返回None: li = [1, 2, 3]li.reverse()print(li)# [3, 2, 1]1234不改变原列表,返回反转后的新列表: li = [1, 2, 3 ...
- Python 列表反转显示方法
第一种,使用reversed 函数,reversed返回的结果是一个反转的迭代器,我们需要对其进行 list 转换 listNode = [1,2,3,4,5] newList = list(reve ...
- python列表反转函数
def reverse(ListInput): RevList=[] for i in range (len(ListInput)): RevList.append(ListInput.pop()) ...
- python 列表排序
转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...
- python列表的常用操作方法
主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下. 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [ ...
- Python 列表排序方法reverse、sort、sorted详解
python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...
- python列表常用内建方法
python列表常用内建方法: abc = ['a',1,3,'a'] #abc.pop(1) #删除索引1的值.结果['a', 3] #abc.append([123]) #结果:['a', 1, ...
- python列表list
1.通过中括号[ ]括起来,用逗号分隔每个元素,元素可以是数字.字符串.布尔值.列表.元组.字典.集合 2.列表有序(体现在每次打印结果都一样),因此可通过下标索引的方式取元素,下标从0开始,li[m ...
- Python 列表 reverse() 方法
描述 Python 列表 reverse() 方法对列表中的元素进行反向排序. 语法 reverse() 方法语法: L.reverse() 参数 无. 返回值 该方法没有返回值,但是会对列表的元素进 ...
随机推荐
- jQuery未定义错误原因(jQuery is not define)
使用jQuery时,必须把它写在最前面,这样浏览器才会先加载jQuery,否则会提示缺少对象. 正确 <script type="text/javascript" src=& ...
- PHP完成一个日历
今天我们就用php中的数组合date 做一个日历. 先让我们回顾一下PHP里面的date . 1.时间戳:表示从计算机元年/UNIX纪年(0时区 1970/1/1 00:00:00)到当前事件的秒数. ...
- Object-C知识点 (三) 单例 蒙版 刷新 KVO底层
#pragma mark - 单例方法(完整的方法) 系统的单例方法名称 sharedApplication defaultManager standardUserDefaults currentDe ...
- 基于angular4.0分页组件
分页组件一般只某个页面的一小部分,所以我们它是子组件 当然如果你承认这话的,可以往下看,因为我把他当作子组建来写了 分页组件的模版 import { Component } from '@angula ...
- js模块化/js模块加载器/js模块打包器
之前对这几个概念一直记得很模糊,也无法用自己的语言表达出来,今天看了大神的文章,尝试根据自己的理解总结一下,算是一篇读后感. 大神的文章:http://www.css88.com/archives/7 ...
- webpack教程(三)——热刷新
现在我们如果修改代码,需要重新打包,再一次在命令行下输入webpack命令,很麻烦. 热刷新是什么呢?就是我们该完代码保存之后webpack会自动打包引起浏览器自动刷新,你只需要把精力都专注在代码研发 ...
- springmvc(三) 参数绑定、
前面两章就介绍了什么是springmvc,springmvc的框架原理,并且会简单的使用springmvc以及ssm的整合,从这一章节来看,就开始讲解springmvc的各种功能实现,慢慢消化 --W ...
- Entity Framework Core 软删除与查询过滤器
本文翻译自<Entity Framework Core: Soft Delete using Query Filters>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意 ...
- linux DNS 问题
今天准备爬虫51job时候,发现ping不通外网了,ping 了一下IP,都是OK的,只是host不通. 呵呵,就一DNS问题,好的.第一步,开始检查配置文件 cat /etc/sysconfig/n ...
- 本地Server发布外网Web应用(Oray实现)
主要讲解如何将本地当做服务器,发布Web应用至外网访问. 准备条件: 1.web应用服务(此处为Tomcat作为web应用服务器): 2.花生壳应用: 第一步,正常搭建本地web项目,应用名为 ...