python reverse反转部分数组的实例

yipeiwu_com6年前Python基础

python3中,list有个reverse函数,用来反转列表元素,但是如果想要反转部分元素呢?

a = [1,2,3,4,5]
a[0:3].reverse() # not work!!!
print(a)
>>[1, 2, 3, 4, 5]

a = [1,2,3,4,5]
c = a[0:3]
c.reverse()  #曲线救国方法,就是开销大了点
a[:3] = c[:]
print(a)
>>[3, 2, 1, 4, 5]

a = [1,2,3,4,5]
a[0:3] = list(reversed(a[0:3])) #work!注意reversed返回的是一个iterator(迭代器),反转前3个数
print(a)
>>[3, 2, 1, 4, 5]

a = [1,2,3,4,5]
a[0:3] = a[2::-1]  #work! 参数略复杂,[]中第一个参数是要反转的最后一个数的index,比如这里要翻转前三个数字 1 2 3,
        #那么第一个参数就是3的index,所以这里是2,第二个参数是要反转的第一个数的index,如果从第一个数开始那么可以省略
        #最后一个参数是-1,表示反序
print(a)
>>[3, 2, 1, 4, 5]

以上这篇python reverse反转部分数组的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 使用多属性来进行排序

Python 中 list.sort() 是列表中非常常用的排序函数, key 参数可以对单个属性进行排序。 但是想要实现类似 sql 中 order by id, age 一样,对多个...

详解如何减少python内存的消耗

详解如何减少python内存的消耗

Python 打算删除大量涉及像C和C++语言那样的复杂内存管理。当对象离开范围,就会被自动垃圾收集器回收。然而,对于由 Python 开发的大型且长期运行的系统来说,内存管理是不容小觑...

Python实现基于权重的随机数2种方法

问题: 例如我们要选从不同省份选取一个号码,每个省份的权重不一样,直接选随机数肯定是不行的了,就需要一个模型来解决这个问题。 简化成下面的问题:  字典的key代表是省份,va...

python实现socket+threading处理多连接的方法

python实现socket+threading处理多连接的方法

一.运行效果 先说两句,之前我在网上找的相关文章标题上写的是处理多连接,尼玛,全是假的。网上那些,根本不能异步处理多连接,不能主动给客户端发消息。 在服务端控制台输入1,查看在线人数。...

Python中实现参数类型检查的简单方法

Python是一门弱类型语言,很多从C/C++转过来的朋友起初不是很适应。比如,在声明一个函数时,不能指定参数的类型。用C做类比,那就是所有参数都是void*类型!void类型强制转换在...