顺着切,反着切,想怎么切就怎么切,但是别被坑。

mylist = [1,2,3,4,5,6,7,8,9]
print(mylist[2:7:2]) # [3, 5, 7]
print(mylist[:7:2]) # [1, 3, 5, 7]
print(mylist[2::2]) # [3, 5, 7, 9]
print(mylist[2:9:2]) # [3, 5, 7, 9]
print(mylist[2:10:2]) # [3, 5, 7, 9]
print(mylist[::2]) # [1, 3, 5, 7, 9]
print(mylist[7:2:2]) # []
print(mylist[2:7:-2]) # []
print(mylist[7:2:-2]) # [8, 6, 4]
print('============')
print(mylist[-2:-7:-2]) # [8, 6, 4]
print(mylist[:-7:-2]) # [9, 7, 5]
print(mylist[-2::-2]) # [8, 6, 4, 2]
print(mylist[-2:-10:-2]) # [8, 6, 4, 2]
print(mylist[::-2]) # [9, 7, 5, 3, 1]
print(mylist[-7:-2:-2]) # []
print(mylist[-2:-7:2]) # []
print(mylist[-7:-2:2]) # [3, 5, 7]

 

步长如果是整数,开始要小于结束,否则结果肯定为空
步长如果是负数,开始要大于结束,否则结果肯定为空

# 反转
print(mylist[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1]
mylist.reverse()
print(mylist) # [9, 8, 7, 6, 5, 4, 3, 2, 1]

 

左闭右开

print([1,2,3,4,5,6,7,8,9][1:3:])  # [2, 3]
print([1,2,3,4,5,6,7,8,9][-1:-7:-1]) # [9, 8, 7, 6, 5, 4]

  

 

python列表各种切片姿势的更多相关文章

  1. Python列表的切片操作

    在Python列表中分片是一个很重要的操作,有以下几个注意的点: 切片时不包含最后一位,如下例子中,要取最后一位,从0开始算应该是到7就可以取,但是需要8才能取 2.      默认取值步长为1,即每 ...

  2. python列表的切片操作允许索引超出范围

    其余的不说,列表切片操作允许索引超出范围:

  3. Python 列表的切片和连接

    一.定义一个list >>> a = [1, 3, 4, 5, 'a', 's'] >>> a [1, 3, 4, 5, 'a', 's'] 二.获取列表中前3个元 ...

  4. python列表的切片与复制

    切片,即处理一个完整列表中部分数据. 语法 变量[起始索引:终止索引:步长] 首先创建一个字符串列表 >>> cars = ['toyota', 'honda', 'mazda', ...

  5. python 列表操作-切片

  6. Python 列表切片陷阱:引用、复制与深复制

    Python 列表的切片和赋值操作很基础,之前也遇到过一些坑,以为自己很懂了.但今天刷 Codewars 时发现了一个更大的坑,故在此记录. Python 列表赋值:复制"值"还是 ...

  7. Python高级特性(切片,迭代,列表生成式,生成器,迭代器)

    掌握了Python的数据类型.语句和函数,基本上就可以编写出很多有用的程序了. 比如构造一个1, 3, 5, 7, ..., 99的列表,可以通过循环实现: L = [] n = 1 while n ...

  8. python 列表切片

    列表切片是python语言独有的特征,大大方便了我们的编码. 首先,在介绍切片之前,必须要知道一个知识,就是python列表的读写,下标可以使用负数. insert,get,set 操作均可传入负数下 ...

  9. Python创建二维列表的正确姿势

    Python创建二维列表的正确姿势 简介 Python中没有数组,使用list结构代替,并且list结构的功能更加强大: 支持动态扩容,无需担心元素过量 对list内的元素类型不做一致性约束 提供丰富 ...

随机推荐

  1. Python【每日一问】20

    问: [基础题]: 企业发放的奖金根据利润提成.利润(I): 低于或等于10万元时,奖金可提10%: 高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%: ...

  2. git clean解决 GIT error: The following untracked working tree files would be overwritten

    git clean用法:https://www.cnblogs.com/lsgxeva/p/8540476.html :

  3. Lua函数声明与调用

    lua编程中,我们经常也会遇到函数的声明定义和调用. [1]lua中函数定义与调用的方法 lua有两种函数定义和调用的方法(本质都是用属性,方式不同而已): (1)点号形式 (2)冒号形式 两种方法的 ...

  4. 【转载】ZYNQ Cache问题的解决方法

    Zynq Cache问题的解决方法 - Kevin_HeYongyuan - 博客园https://www.cnblogs.com/kevin-heyongyuan/articles/7738552. ...

  5. 一个萝卜一个坑#M坑—Polynomial、Polyder

    Polynomial 作用:对输入值执行多项式系数计算,输入输出都可为实数标量或向量. 库:Simulink / Math Operations Polyval 作用:多项式计算,即求多项式在某一点的 ...

  6. Fiddler手机抓包不完全记录

    准备工作: 1.必须确保安装fiddler的电脑和手机在同一个wifi环境下 备注:如果电脑是笔记本当然最好;如果电脑用的是台式机,可以安装一个随身wifi,来确保台式机和手机在同一wifi环境下   ...

  7. TestNG系列(四)TestNG监听器

    前言 监听器实际上是一些预定义的java接口,用户创建这些接口的实现类(即implements某监听接口,并实现里面的方法),并加入到testng中,testng便会在运行的不同时刻调用这些类中你自定 ...

  8. docker 安装 sqlserver 数据库

    具备条件: 1.服务器需要大于2G内存.如果不够则可能无法正常启动,查看日志报如下错误:This program requires a machine with at least 2000 megab ...

  9. kafka集群安全化之启用kerberos与acl

    一.背景 在我们部署完kafka之后,虽然我们已经可以“肆意”的用kafka了,但是在一个大公司的实际生产环境中,kafka集群往往十分庞大,每个使用者都应该只关心自己所负责的Topic,并且对其他人 ...

  10. RabbitMQ学习之Topics(5)

    上一节,我们讲了direct exchange,这节我们讲下topic exchange Topic exchange 发送到topic exchange的messages不可以有一个随意的routi ...