python列表各种切片姿势
顺着切,反着切,想怎么切就怎么切,但是别被坑。
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列表各种切片姿势的更多相关文章
- Python列表的切片操作
在Python列表中分片是一个很重要的操作,有以下几个注意的点: 切片时不包含最后一位,如下例子中,要取最后一位,从0开始算应该是到7就可以取,但是需要8才能取 2. 默认取值步长为1,即每 ...
- python列表的切片操作允许索引超出范围
其余的不说,列表切片操作允许索引超出范围:
- Python 列表的切片和连接
一.定义一个list >>> a = [1, 3, 4, 5, 'a', 's'] >>> a [1, 3, 4, 5, 'a', 's'] 二.获取列表中前3个元 ...
- python列表的切片与复制
切片,即处理一个完整列表中部分数据. 语法 变量[起始索引:终止索引:步长] 首先创建一个字符串列表 >>> cars = ['toyota', 'honda', 'mazda', ...
- python 列表操作-切片
- Python 列表切片陷阱:引用、复制与深复制
Python 列表的切片和赋值操作很基础,之前也遇到过一些坑,以为自己很懂了.但今天刷 Codewars 时发现了一个更大的坑,故在此记录. Python 列表赋值:复制"值"还是 ...
- Python高级特性(切片,迭代,列表生成式,生成器,迭代器)
掌握了Python的数据类型.语句和函数,基本上就可以编写出很多有用的程序了. 比如构造一个1, 3, 5, 7, ..., 99的列表,可以通过循环实现: L = [] n = 1 while n ...
- python 列表切片
列表切片是python语言独有的特征,大大方便了我们的编码. 首先,在介绍切片之前,必须要知道一个知识,就是python列表的读写,下标可以使用负数. insert,get,set 操作均可传入负数下 ...
- Python创建二维列表的正确姿势
Python创建二维列表的正确姿势 简介 Python中没有数组,使用list结构代替,并且list结构的功能更加强大: 支持动态扩容,无需担心元素过量 对list内的元素类型不做一致性约束 提供丰富 ...
随机推荐
- PatchMatch笔记
关键词: slanted surfaces: 倾斜的平面 fronto-parallel windows: ??? remedy: 补救 disparity: 视差图 对每一个像素都估计一个3D平面. ...
- python入门之名称空间
name = 'tank' 什么是名称空间? 存放名字的空间 如果你想访问一个变量值,必须先访问对应的名称空间,拿到名字和对应的内存地址的绑定关系 名称空间的分类: 1.内置名称空间: python提 ...
- 用代码写一个“Hello World!”
很简单:三步 第一步:电脑连上Microbit 第二步:打开Mu 第三步:写程序,flash 烧录 from microbit import * display.scroll("Hello ...
- VisualSVN 新版本终于支持一个解决方案下多workcopy了,并解决了上个版本一个重要BUG
Multiple working copies within a single solution VisualSVN 7.0 and older require the solution file a ...
- 转 Hystrix超时实现机制
HystrixCommand在执行的过程中如何探测超时,本篇主要对此进行介绍说明. 1.主入口:executeCommandAndObserve #com.netflix.hystrix.Abstra ...
- Sitecore 内容版本设计
Sitecore内容变化的跟踪显着偏离既定规范.了解Sitecore中版本控制和工作流程的细节,该产品是对这些发布工具的回答. 在出版界,实时跟踪内容变化很常见,可能是由于Microsoft Word ...
- bypass-media 模式30秒挂断
语音正常,但是通话30秒后自动挂断, 服务器为阿里云,专网模式 修改ext-sip-ip 为公网ip
- 深入理解 Linux Cgroup 系列(二):玩转 CPU
原文链接:深入理解 Linux Cgroup 系列(二):玩转 CPU 上篇文章主要介绍了 cgroup 的一些基本概念,包括其在 CentOS 系统中的默认设置和控制工具,并以 CPU 为例阐述 c ...
- go ---作用域及判断变量类型的方式。
package main import ( "fmt" ) var v = "1, 2, 3" func main() { v := []int{1, 2, 3 ...
- golang ---rune与byte
golang内置类型有rune类型和byte类型. rune类型的底层类型是int32类型,而byte类型的底层类型是int8类型,这决定了rune能比byte表达更多的数. 在unicode中,一个 ...