吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1473|回复: 2
收起左侧

[Python 转载] Python数组切片辨析

[复制链接]
Westphalia 发表于 2020-3-11 19:24

切片原则:

  • 前面两位看绝对位置

    0是指数组里的第一位,-1是指最后一位,不填表示取某一方向所有的值,也可以理解成取到某一边的括号处,具体取哪一边的括号要注意。

  • 注意前开后闭的原则

    开始的地方闭区间,结束的地方开区间。为什么不说左开右闭呢,因为在步长为负数的时候容易产生误解。

a = [0,1,2,3,4,5]
print(a[1:2:1])     --> [1]
# 数组的第二位取到数组的第三位,步长为1,即从1取到2,因为前开后闭,所以只取1
print(a[1:2:-1])    --> []
# 这种表达就有问题,范围的方向和步长的方向不一致所以取值为空

print(a[1:-1:1])    --> [1, 2, 3, 4]
# 数组的第二位取到数组的最后一位,步长为1,即从1取到5,因为前开后闭,所以只取1,2,3,4
print(a[-1:1:-1])   --> [5, 4, 3, 2]
# 数组的最后一位取到数组的第二位,步长为-1,即从5取到1,因为前开后闭,所以只取5,4,3,2

print(a[1::1])      --> [1, 2, 3, 4, 5]
# 数组的第二位取到数组的右边括号,步长为1,即从1取到右括号,因为前开后闭,所以只取1, 2, 3, 4, 5
print(a[1::-1])     --> [1, 0]
# 数组的第二位取到数组的左边括号,步长为-1,即从1取到左括号,因为前开后闭,所以只取1, 0

print(a[:1:1])      --> [0]
# 数组的左括号取到数组的第二位,步长为1,即从左括号取到1,因为前开后闭,所以只取0
print(a[:1:-1])     --> [5, 4, 3, 2]
# 数组的右括号取到数组的第二位,步长为-1,即从右括号取到1,因为前开后闭,所以只取5, 4, 3, 2

免费评分

参与人数 1热心值 +1 收起 理由
zg17j1cxw2k + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

jidesheng6 发表于 2020-3-11 20:30
可以,学习了
 楼主| Westphalia 发表于 2020-3-12 07:21
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 08:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表