Python3之切片及内置切片函数slice
切片
取一个list或tuple的部分元素是非常常见的操作。比如,一个list
L=[0,1,2,3,4,5,6,7,8,9]
取前3个元素,应该怎么做
笨方法,一个个列出来
>>> [L[0],L[1],L[2]]
[0, 1, 2]
假如需要列出N个但是N很大
循环方法
>>> r=[]
>>> n=3
>>> for i in range(n):
... r.append(L[i])
...
>>> r
[0, 1, 2]
对于经常去指定索引范围的操作,用循环十分繁琐,因此pythone提供了切片操作符能大大简化操作
>>> L[0:3]
[0, 1, 2]
L[0:3]表示,从索引0开始,直到索引3,但是不包含索引3,及索引0,1,2 一共3个元素
如果第一个索引为0可以省略
>>> L[:3]
[0, 1, 2]
也可以从索引1开始,取出2个元素来
>>> L[1:3]
[1, 2]
类似也可以倒数切片,-1代表倒数第1个索引
>>> L[-2:]
[8, 9]
>>> L[-2:-1]
[8]
默认取的间隔是1也可以定义,隔几个去一个
从索引0取到索引9没隔两个取一个
>>> L[0:10:2]
[0, 2, 4, 6, 8]
什么都不写,只写[:]就可以原样复制一个list
>>> L[:]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
tuple也是一个list,唯一区别是tuple不可变.tuple切片也是一个tuple
>>> (0,1,2,3,4,5)[:3]
(0, 1, 2)
字符串'xxx'也是可以看成是一种list,也可以切片返回的是一个字符
>>> 'abcde'[:3]
'abc'
切片函数slice
语法
class slice(stop)
class slice(start, stop[, step])
参数说明
start--起始位置 默认为None
stop--结束位置 自定义
step--间距 默认为None间距为1
>>> myslice=slice(3)
>>> myslice
slice(None, 3, None)
>>> L[myslice]
[0, 1, 2]
>>> print(myslice.start)
None
>>> print(myslice.step)
None
>>> print(myslice.stop)
3
以上
myslice=(3)
等价于
myslice=slice(0,3,1)
自定义间隔step
#切片范围为0-10 间距为2
>>> myslice=slice(0,10,2)
#查看参数
>>> myslice
slice(0, 10, 2)
>>> L[myslice]
[0, 2, 4, 6, 8]
Python3之切片及内置切片函数slice的更多相关文章
- 自学Python3.3-函数分类(内置函数补充)
自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...
- python3 内置常用函数系列一
python3 内置了一系列的常用函数, python英文官方文档详细说明:点击查看, 为了方便查看,将内置常用的函数的记录一下来. Python3版本所有的内置函数: 1.abs() print(a ...
- 浏览器内置Console函数使用详解
浏览器内置Console函数比较好用:Chrome 和 FireFox(Firebug插件) 利用此功能可以像直接在面板里面运行JS一样(写法不同而已) 一.显示信息的命令 Firebug内置一个co ...
- javascript笔记整理(回调、递归、内置顶层函数)
1.回调函数(通过函数的指针来调用函数,把一个函数的指针做为另一个函数的参数,当调用这个参数的时候,这个函数就叫做回调函数) a.通过指针来调用 function aa(a,b,fun){ retur ...
- 【学习】js学习笔记:内置顶层函数eval()的兼容用法
今天学了一个内置顶层函数,eval();其作用是将字符串转换成javascript命令执行,但必须符合语法,否则会报错. 如果写成window.eval(),则其定义的变量会在全局生效. 但是,在IE ...
- 学习angularjs的内置API函数
angularjs的内置API函数有很多,如isString()判断给定的对象是否为字符串,如果是返回 true,反之返回false:isNumber()判断给定的对象是否为数字,如果是返回 true ...
- PHP内置安全函数一览
内置安全函数 filter_var函数 根据参数中的过滤类型进行过滤,如过滤Email类型的,则符合的字符串返回字符串,不符合的返回False. urldecode函数 写这个函数是特别为了提醒注意, ...
- Python descriptor 以及 内置property()函数
Python Descriptor 1, Python Descriptor是这样一个对象 它按照descriptor协议, 有这样的属性之一 def __get__(self, obj, type ...
- Oracle SQL常用内置系统函数总结
Oracle数据库 内置系统函数主要分为以下类别:数学函数.字符串函数.日期函数.转换函数.聚合函数.分析聚合函数 一.数学函数 ------------返回数字 abs(n):返回数字 ...
随机推荐
- CentOS7.x安装mariadb-10.3
1.配置mariadb yum源 vim /etc/yum.repos.d/mariadb.repo # 写入如下内容 [mariadb] name = MariaDB baseurl = http: ...
- Python 使用装饰器装饰类
1.装饰器装饰函数 了解过或学过装饰器的同学都知道,Python 中的装饰器是可以装饰函数的,如: # 定义一个装饰器 def decorator(func): def inner(*args,**k ...
- 05_Tutorial 5: Relationships & Hyperlinked APIs 关系和超链接
1.关系和超链接 0.文档 https://www.django-rest-framework.org/tutorial/5-relationships-and-hyperlinked-apis/ h ...
- Jedis常用方法API
一.键操作 二.字符串操作 三.整数和浮点数操作 四.列表(List)操作 五.集合(Set)操作 六.哈希(Hash)操作 七.有序集合(Zsort)操作 八.排序操作
- Elasticsearch-head使用及ES相关概念
elasticsearch-head安装和介绍已在上一篇讲了. 在浏览器访问http://localhost:9100,可看到如下界面,表示启动成功: 仔细观察,我们会发现客户端默认连接的是我们ela ...
- linux系列(十三):less命令
1.命令格式: less [参数] 文件 2.命令功能: less 与 more 类似,但使用 less 可以随意浏览文件,而 more 的功能不如less,而且 less 在查看之前不会加载整个文 ...
- BST(二叉查找树)
https://songlee24.github.io/2015/01/13/binary-search-tree/ 二叉查找树(BST) 发表于 2015-01-13 | 分类于 Basic ...
- Windows10+Jupyter notebook+添加核
链接:https://blog.csdn.net/ZWX2445205419/article/details/80113472 1. 安装Anaconda 2. 创建虚拟环境 > con ...
- 在docker容器中编译hadoop 3.1.0
在docker容器中编译hadoop 3.1.0 优点:docker安装好之后可以一键部署编译环境,不用担心各种库不兼容等问题,编译失败率低. Hadoop 3.1.0 的源代码目录下有一个 `sta ...
- JRebel for IntelliJ激活
好久没用jrebel了,跟前端进行项目联调总是有些许改动,还是热部署方便. 目前用的idea版本:IntelliJ IDEA 2019.2 JRebel插件版本:JRebel for IntelliJ ...