博客
关于我
Python切片:[i:j]与[i:j:s]
阅读量:538 次
发布时间:2019-03-07

本文共 870 字,大约阅读时间需要 2 分钟。

Python 切片操作详解

第一部分:切片的基本用法

在 Python 中,a[i:j] 的含义是将从索引 ij-1 的元素复制一遍,生成一个新切片。切片的数据类型与被切片的对象完全一致。

示例:

>>> list1 = [1, 2, 3, 4, 5]>>> list1[1:4]  # 输出 [2, 3, 4]>>> tuple1 = ('a', 'b', 'c', 'd', 'e')>>> tuple1[1:4]  # 输出 ('b', 'c', 'd')>>> string1 = "abcde">>> string1[1:4]  # 输出 'bcd'

第二部分:默认值的使用

切片操作中,ij 的默认值非常实用:

  • i 未指定时,默认为 0
  • j 未指定时,默认为 len(a),即切片到末尾。
  • ij 均未指定时,a[:] 切片相当于复制整个列表 a

示例:

>>> list1 = [1, 2, 3, 4, 5]>>> list1[:3]  # 等同于 list1[0:3],输出 [1, 2, 3]>>> list1[3:]  # 等同于 list1[3:5],输出 [4, 5]>>> list1[:]  # 输出完整副本 [1, 2, 3, 4, 5]

第三部分:步长的使用

切片操作中,a[i:j:s]s 表示步长,默认值为 1,即每次只取一个元素。

关键点:

  • s < 0 时,ij 的默认值会发生变化:
    • i 未指定时,默认为 -1
    • j 未指定时,默认为 -(len(a) + 1)
  • a[::-1] 切片的含义是从最后一个元素开始,倒序切片到第一个元素。

示例:

>>> list1 = [1, 2, 3, 4, 5]>>> list1[::-1]  # 输出 [5, 4, 3, 2, 1]>>> list1[::-2]  # 步长为 -2,输出 [5, 3, 1]

这些切片操作为 Python 列表、元组和字符串提供了强大的灵活性,能够高效处理数据切片和重组任务。

转载地址:http://guknz.baihongyu.com/

你可能感兴趣的文章
NodeSession:高效且灵活的Node.js会话管理工具
查看>>
node~ http缓存
查看>>
node不是内部命令时配置node环境变量
查看>>
node中fs模块之文件操作
查看>>
Node中同步与异步的方式读取文件
查看>>
Node中的Http模块和Url模块的使用
查看>>
Node中自启动工具supervisor的使用
查看>>
Node入门之创建第一个HelloNode
查看>>
node全局对象 文件系统
查看>>
Node出错导致运行崩溃的解决方案
查看>>
Node响应中文时解决乱码问题
查看>>
node基础(二)_模块以及处理乱码问题
查看>>
node安装卸载linux,Linux运维知识之linux 卸载安装node npm
查看>>
node安装及配置之windows版
查看>>
Node实现小爬虫
查看>>
Node提示:error code Z_BUF_ERROR,error error -5,error zlib:unexpected end of file
查看>>
Node提示:npm does not support Node.js v12.16.3
查看>>
Node搭建静态资源服务器时后缀名与响应头映射关系的Json文件
查看>>
Node服务在断开SSH后停止运行解决方案(创建守护进程)
查看>>
node模块化
查看>>