博客
关于我
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/

你可能感兴趣的文章
mysql 前缀索引 命令_11 | Mysql怎么给字符串字段加索引?
查看>>
MySQL 加锁处理分析
查看>>
mysql 协议的退出命令包及解析
查看>>
mysql 参数 innodb_flush_log_at_trx_commit
查看>>
mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
查看>>
MySQL 命令和内置函数
查看>>
mysql 四种存储引擎
查看>>
MySQL 在并发场景下的问题及解决思路
查看>>
MySQL 基础架构
查看>>
MySQL 基础模块的面试题总结
查看>>
MySQL 备份 Xtrabackup
查看>>
mYSQL 外键约束
查看>>
mysql 多个表关联查询查询时间长的问题
查看>>
mySQL 多个表求多个count
查看>>
mysql 多字段删除重复数据,保留最小id数据
查看>>
MySQL 多表联合查询:UNION 和 JOIN 分析
查看>>
MySQL 大数据量快速插入方法和语句优化
查看>>
mysql 如何给SQL添加索引
查看>>
mysql 字段区分大小写
查看>>
mysql 字段合并问题(group_concat)
查看>>