python range函数范围_Python range函数深入解析
Python的一个重要特性就是可以在数组中使用负数索引。这样在取值的时候难免碰到疑惑,所以我仔细分析了下range函数,并归纳出一种最快算法。
range([start], stop[, step])
start:开始值
stop:结束值
step:步进(可以正负,正数代表自左向右移动,负数代表自又向左移动)
源代码:
数据连续区域:
print("view: " + str(list(range(3))))
print("--------------------------------")
print("0,3,1: " + str(list(range(0,3,1))))
print("3,0,1: " + str(list(range(3,0,1))))
print("3,-1,1: " + str(list(range(3,-1,1))))
print("-1,3,1: " + str(list(range(-1,3,1))))
print("3,-2,1: " + str(list(range(3,-2,1))))
print("-2,3,1: " + str(list(range(-2,3,1))))
print("3,-3,1: " + str(list(range(3,-3,1))))
print("-3,3,1: " + str(list(range(-3,3,1))))
print("3,-4,1: " + str(list(range(3,-4,1))))
print("-4,3,1: " + str(list(range(-4,3,1))))
print(">>>")
print("0,3,-1: " + str(list(range(0,3,-1))))
print("3,0,-1: " + str(list(range(3,0,-1))))
print("3,1,-1: " + str(list(range(3,1,-1))))
print("1,3,-1: " + str(list(range(1,3,-1))))
print("3,2,-1: " + str(list(range(3,2,-1))))
print("2,3,-1: " + str(list(range(2,3,-1))))
print("3,-1,-1:" + str(list(range(3,-1,-1))))
print("-1,3,-1:" + str(list(range(-1,3,-1))))
print("3,-2,-1:" + str(list(range(3,-2,-1))))
print("-2,3,-1:" + str(list(range(-2,3,-1))))
print("--------------------------------")
运行结果:
view: [0, 1, 2]
--------------------------------
0,3,1: [0, 1, 2]
3,0,1: []
3,-1,1: []
-1,3,1: [-1, 0, 1, 2]
3,-2,1: []
-2,3,1: [-2, -1, 0, 1, 2]
3,-3,1: []
-3,3,1: [-3, -2, -1, 0, 1, 2]
3,-4,1: []
-4,3,1: [-4, -3, -2, -1, 0, 1, 2]
>>>
0,3,-1: []
3,0,-1: [3, 2, 1]
3,1,-1: [3, 2]
1,3,-1: []
3,2,-1: [3]
2,3,-1: []
3,-1,-1:[3, 2, 1, 0]
-1,3,-1:[]
3,-2,-1:[3, 2, 1, 0, -1]
-2,3,-1:[]
--------------------------------
非连续数据区域:
>>> a = [11,55,22,66]
>>> list(a[i] for i in range(len(a)-1,2,-1))
[66]
>>> list(a[i] for i in range(len(a)-1,0,-1))
[66, 22, 55]
>>> list(a[i] for i in range(len(a)-1,-2,-1))
[66, 22, 55, 11, 66]
>>> list(a[i] for i in range(len(a)-1,-3,-1))
[66, 22, 55, 11, 66, 22]
>>> list(a[i] for i in range(len(a)-1,0,-1))
[66, 22, 55]
>>> list(a[i] for i in range(len(a)-1,1,-1))
[66, 22]
测试结果分析:
公式:
数据区域连续(例如:0,1,2,3):
range运行结果=[start...[start+移动位数]]
数据区域非连续(例如:0,1,3,5):
range运行结果=[start...[[数组A][start索引+移动位数]]]
正向(step=1):移动位数=end-start
反向(step=-1):移动位数=start-end
注释:[]中的...代表从start开始,一直到([start+移动位数]或者[[数组A][start索引+移动位数]])的数组。
python range函数范围_Python range函数深入解析相关推荐
- python range函数范围_Python range函数
Python range函数教程 range函数详解 语法 range(start, stop[, step]) 参数 参数 描述 start 计数从 start 开始.默认是从 0 开始. stop ...
- python range函数小数_python range函数与numpy arange函数,xrange与range的区别
转自:https://www.cnblogs.com/ymjyqsx/p/6426764.html 1.range()返回的是range object,而np.arange()返回的是numpy.nd ...
- pythonrange函数用法_python range()函数详细用法
python range()函数详细用法 函数原型:range(start, end, scan): 参数含义:start:计数从start开始.默认是从0开始.例如range(5)等价于range( ...
- python quit函数作用_Python常用函数学习笔记
Python函数很多,常用的函数不同的场景侧重不同,学而时习之,不亦乐乎? abs # 求绝对值 Capitilize函数: # 有列表 li = ['aB', 'egon', 'smith', 'p ...
- python中函数定义_Python中函数的定义与使用
原博文 2020-02-27 16:46 − 一.函数基本定义 定义函数的目的是为了让一段代码可以被重复使用 函数定义的语法: def 函数名([参数,参数.....]): 函数主体代码(多行代码) ...
- python的reversed函数实质_Python reversed函数及使用方法解析
Python reversed函数及使用方法解析 发布时间:2020-09-09 01:07:18 来源:脚本之家 阅读:74 有些时候,程序需要进行反向遍历,此时可通过 reversed() 函数, ...
- python 函数进阶_python之函数进阶
1. 今日内容 1.1 函数的参数 *的魔性用法 函数形参最终顺序 1.2名称空间 全局名称空间,局部名称空间,内置名称空间 取值顺序与加载顺序 作用域 内置函数:globals() locals() ...
- python定义匿名函数关键字_Python匿名函数
匿名:就是没有名字. 匿名函数,即没有名字的函数 没有名字如何定义,如何调用,如果能调用,如何使用. Python借助lambda表达式构建匿名函数. 格式: Lambda参数列表:表达式 (Lamb ...
- python 字符串输入时间_Python input()函数:获取用户输入的字符串
input() 函数用于向用户生成一条提示,然后获取用户输入的内容.由于 input() 函数总会将用户输入的内容放入字符串中,因此用户可以输入任何内容,input() 函数总是返回一个字符串. 例如 ...
- python内置函数调用_Python中函数的基本定义与调用及内置函数详解
前言 函数function是python编程核心内容之一,也是比较重要的一块.首先我们要了解Python函数的基本定义: 函数是什么? 函数是可以实现一些特定功能的小方法或是小程序.在Python中有 ...
最新文章
- How to get pure json data by ajax request
- 数据格式、类型系统与展示
- 结构型模式之Proxy模式
- OriginPro 2021b SR1 9.8.5 for win 科学绘图完美中文版
- Java教程之RabbitMQ介绍
- java string 不变_为什么String在java中是不可变的?
- CSS基础(part14)--定位
- mysql中union 查询
- SpringBoot 2.0 Actuator监控系统
- 宝骏530中控屏怎么安装软件_【中山永豊】宝骏530音响升级美国DD双低音,炸机效果征服全场观众!...
- tensorflow : gfile 函数
- 一道组合数学题-马拦过河卒,很精彩
- 获取本机IP可区分系统可区分虚拟机和本机java程序跨平台
- 计算机辅助设计阀体,计算机辅助设计——AutoCAD 2009教程
- “C:\Users\用户名\AppData\里面的文件是什么?可以删除么??
- 手机百度浏览器怎么设置繁体字_繁体字转换简体字在线转换_有什么软件可以把繁...
- 【ArcGIS】PointsToLine执行报999999错误的一种解决方案
- PMP备考大全:经典题库(8月第4周)
- 小程序源码:全新实用工具证件照制作-多玩法安装简单
- Go 语言如何自定义 linter(静态检查工具)
热门文章
- 计算1到100的整数和
- 可编程模拟IC之考虑[zz]
- SQL Server 2005 实现数据库同步备份 过程--结果---分析
- java structs hibernate php_eclipse+hibernate+structs 环境搭建
- python安装numba_安装与Python 3.5适配的numba
- hibernate mysql 注解_【译】Spring 4 + Hibernate 4 + Mysql + Maven集成例子(注解 + XML)
- 如何提高服务器响应的数据速度_如何提高服务器并发处理能力
- 导航类网站|设计没有感觉,苦于寻找各种工具 或者资料的小伙伴收藏好哦
- 「PPT模板」 商务UI风格
- php中创建函数的正确方法,如何在PHP中创建一个函数