python - 理解python中的切片行为
问题描述
切片的一般语法
[start:stop:step]
它将被评估start:stop-1
和step
(默认1)
>>> l = [x for x in range(5)]
>>> l[0:6]
[0, 1, 2, 3, 4]
>>> l[1:-1] #case second
[1, 2, 3]
>>> l[1:-5] #case third
[]
为什么在第三种情况下它返回一个空列表,而且我不明白在第二种情况下,如果在-ve 中停止值,步长如何增加1 。
解决方案
l[-5] = 0
这样做:
l[1:-5]
和做的一样:
l[1:0]
和任何其他负范围一样(不要与负数混淆!) - 它会返回一个空列表
推荐阅读
- python - Python,抓取动态PDF
- go - 如何在 Golang 中将 Secret 提取为配置文件
- javascript - FabricJS IText(和文本框)在 React Bootstrap 中不可编辑
- sql - 如何按顺序取先前的非空值?
- bash - Getopts 函数问题
- angularjs - Typescript - 具有特定装饰器的类的函数参数类型
- c++ - OpenCV c ++中的多项式曲线拟合
- 2d - 将 KinematicBody2D 移动到已知位置 (godot)
- java - 在 Polygonview Android 上触摸时缩放/放大
- python - 附加到空列表会产生意想不到的结果