切片

    取一个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的更多相关文章

  1. 自学Python3.3-函数分类(内置函数补充)

    自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...

  2. python3 内置常用函数系列一

    python3 内置了一系列的常用函数, python英文官方文档详细说明:点击查看, 为了方便查看,将内置常用的函数的记录一下来. Python3版本所有的内置函数: 1.abs() print(a ...

  3. 浏览器内置Console函数使用详解

    浏览器内置Console函数比较好用:Chrome 和 FireFox(Firebug插件) 利用此功能可以像直接在面板里面运行JS一样(写法不同而已) 一.显示信息的命令 Firebug内置一个co ...

  4. javascript笔记整理(回调、递归、内置顶层函数)

    1.回调函数(通过函数的指针来调用函数,把一个函数的指针做为另一个函数的参数,当调用这个参数的时候,这个函数就叫做回调函数) a.通过指针来调用 function aa(a,b,fun){ retur ...

  5. 【学习】js学习笔记:内置顶层函数eval()的兼容用法

    今天学了一个内置顶层函数,eval();其作用是将字符串转换成javascript命令执行,但必须符合语法,否则会报错. 如果写成window.eval(),则其定义的变量会在全局生效. 但是,在IE ...

  6. 学习angularjs的内置API函数

    angularjs的内置API函数有很多,如isString()判断给定的对象是否为字符串,如果是返回 true,反之返回false:isNumber()判断给定的对象是否为数字,如果是返回 true ...

  7. PHP内置安全函数一览

    内置安全函数 filter_var函数 根据参数中的过滤类型进行过滤,如过滤Email类型的,则符合的字符串返回字符串,不符合的返回False. urldecode函数 写这个函数是特别为了提醒注意, ...

  8. Python descriptor 以及 内置property()函数

    Python Descriptor  1, Python Descriptor是这样一个对象 它按照descriptor协议, 有这样的属性之一 def __get__(self, obj, type ...

  9. Oracle SQL常用内置系统函数总结

    Oracle数据库  内置系统函数主要分为以下类别:数学函数.字符串函数.日期函数.转换函数.聚合函数.分析聚合函数 一.数学函数 ------------返回数字       abs(n):返回数字 ...

随机推荐

  1. 十九.部署LNMP环境、构建LNMP平台、地址重写

    proxy client web1 web2   1.部署LNMP环境 1.1 部署nginx(前面已部署过) 1.2 部署mariadb ]# yum -y install mariadb mari ...

  2. 为什么final类型map和list内容可以修改

    URL地址:https://blog.csdn.net/AlbertFly/article/details/76855367

  3. NAS,IP SAN以及iSCSCI SAN存储的一些认识和理解

    由 cxemc 在 2013-9-24 上午9:12 上创建,最后由 cxemc 在 2013-9-24 上午9:12 上修改 版本 1 1. NAS和SAN存储 a. NAS本身可以做为一台网络设备 ...

  4. URL中的String参数问题

    测试一个查询数据的接口,类似这样的URL:.../search?type=Astring,在浏览器中输入URL获取到的数据为空,但通过其它方式确认数据库中确实已有数据,怀疑是接口实现问题.找接口实现的 ...

  5. 10月清北学堂培训 Day 6

    今天是黄致焕老师的讲授~ T1 自信 AC 莫名 80 pts???我还是太菜了!! 对于每种颜色求出该颜色的四个边界,之后枚举边界构成的矩阵中每个元素,如果不等于该颜色就标记那种颜色不能最先使用. ...

  6. 【免费】Linux命令行与Shell脚本编程大全 第3版 PDF全本 21MB 百度网盘下载

    2019年7月12日更新 链接: https://pan.baidu.com/s/17RDrepFf-GI427I7k3jBcQ 提取码: qk8k 网上的大部分都要积分什么的,很麻烦.这本很清晰,分 ...

  7. Spring Cloud Gateway(八):其它路由谓词工厂

    本文基于 spring cloud gateway 2.0.1 6.基于Cookie的谓词工厂 CookieRoutePredicateFactory 是 Cookie 类型的路由断言工厂,接收两个参 ...

  8. 在 Arch 上Yaourt 使用这些替代品

    1. aurman aurman 是最好的 AUR 助手之一,也能胜任 Yaourt 替代品的地位.它有非常类似于 pacman 的语法,可以支持所有的 pacman 操作.你可以搜索 AUR.解决包 ...

  9. excel中在某一列上的所有单元格的前后增加

    excel中在某一列上的所有单元格的前后增加数字汉字字符等东西的函数这样写 “东西”&哪一列&“东西” 例如  “1111”&E1&“3333”

  10. elasticsearch配置jdk

    编辑bin/elasticsearch 可以看到elasticsearch使用环境变量JAVA_HOME中配置的jdk:if [ -x "$JAVA_HOME/bin/java" ...