博客
关于我
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 纵表转换为横表
查看>>
mysql 编译安装 window篇
查看>>
mysql 网络目录_联机目录数据库
查看>>
MySQL 聚簇索引&&二级索引&&辅助索引
查看>>
Mysql 脏页 脏读 脏数据
查看>>
mysql 自增id和UUID做主键性能分析,及最优方案
查看>>
Mysql 自定义函数
查看>>
mysql 行转列 列转行
查看>>
Mysql 表分区
查看>>
mysql 表的操作
查看>>
mysql 视图,视图更新删除
查看>>
MySQL 触发器
查看>>
mysql 让所有IP访问数据库
查看>>
mysql 记录的增删改查
查看>>
MySQL 设置数据库的隔离级别
查看>>
MySQL 证明为什么用limit时,offset很大会影响性能
查看>>
Mysql 语句操作索引SQL语句
查看>>
MySQL 误操作后数据恢复(update,delete忘加where条件)
查看>>
MySQL 调优/优化的 101 个建议!
查看>>
mysql 转义字符用法_MySql 转义字符的使用说明
查看>>