range函数的使用
循环结构终于会出现了
这章讲完差不多读者可以实现大部分程序了
range()函数
用于生成一个整数序列
内置函数:前面不需要加任何前缀,可以直接使用的函数
创建range对象的三种方式
range(stop)
该函数的作用是创建一个从[0,stop)的整数列表,同时两个数之间的长度默认为1,即步长为1,注意stop<=0的时候,其返回值为空,不会创建
range(start, strop)
该函数时创建一个[start, stop)的整数列表,步长默认让然为1,同样这边的start必须小于stop否则不能创建一个有效的整数列表
range(start, stop, step)
那么自然的就知道该函数的作用是,创建一个[start, stop)的整数列表,步长为step,可以理解为该函数的作用就是创建一个等差数列
range函数的返回值是一个迭代器对象(C++中的STL出来了)
如果想要查看range返回值中的整数序列
借助列表list来实现
print(list(range(10))
range类型的有点,不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素(老数学带师了){推广后,可以发现,只要这个数列可以由通项表示,那么告知首项,范围,即可唯一确定该数列,这边的通项因为是等差数列,所以简化成由公差也就是步长来唯一确定}
in与not in判断整数序列中是否存在(不存在)指定的整数
example:
点击查看代码
r = range(0)
print(list(r))
r = range(19, 20)
print(list(r))
r = range(10, 21, 10)
print(list(r))
print(10 in list(r))
print(10 in r)
print(9 in r)
print(8 not in r)
在这边一定要知道的是,range返回的迭代器对象或者说range这个对象所占的内存是一样的,并不会因为range的范围里面的整数个数非常大而非常大,这是需要注意的地方,只有真正用到range的时候进行展开(貌似展开后对于内存的占用又是跟里面的整数个数成正相关了,网上查找,貌似存储的时候大家的内存占用都一样,但是使用的时候是会自己建立一个list来实现的)
range函数的使用的更多相关文章
- range()函数的使用
坚持每天学一点,每天进步一点,迟早有一点我会成为大神. 在python中range函数可以返回一系列连续增加的整数,也是一个迭代器. 函数用法:range(开始, 结束, 步进值): #步进值默认为1 ...
- 详细记录python的range()函数用法
使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序. 这里记 ...
- python中xrange()和range()函数的区别使用:
1.range()函数: 函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列. >>> #ra ...
- Python的range函数详细用法
1. >>> range(1,5) #代表从1到5(不包含5) [1, 2, 3, 4]>>> 2. >>> range(1,5,2) #代表从 ...
- python的range()函数
range函数的三种用法:>>> range(1,5) # 代表从1到5(不包含5) [1, 2, 3, 4] >>> range(1,5,2) # 代表从1到5, ...
- for循环&len函数和range函数的运用
函数:len() 作用:返回字符串.列表.字典.元组等长度 语法:len(str) 参数: str:要计算的字符串.列表.字典.元组等 返回值:字符串.列表.字典.元组等元素的长度 实例 1.计算字 ...
- Python的range()函数用法
Python的range()函数有三种用法,简单地说就是下图的三种用法: 运行结果如下:
- range()函数
range()函数 函数说明: range(start, stop[, step]) -> range object,根据start与stop指定的范围以及step设定的步长,生成一个序列.参数 ...
- python之range()函数、for-in循环和while循环
range()函数和for-in循环 函数原型:range(start, end, scan): 参数含义:start:计数从start开始.默认是从0开始.例如range(5)等价于range(0, ...
- python中range()函数的用法
python中range()函数可创建一个整数列表,一般用在for循环中. range()函数语法: range(start,stop[,step]) 参数说明: star: 计数从star开始.默认 ...
随机推荐
- Shell脚本实战:日志关键字监控+自动告警
一个执着于技术的公众号 该程序使用场景说明:主要用于Linux服务器监控程序日志,如出现关键字异常则触发相应的动作或告警操作,通知到邮件联系人. 一.安装邮件服务 1.解压 tar -jxf mail ...
- KMP算法学习以及小结(好马不吃回头草系列)
首先请允许我对KMP算法的三位创始人Knuth,Morris,Pratt致敬,这三位优秀的算法科学家发明的这种匹配模式可以大大避免重复遍历的情况,从而使得字符串的匹配的速度更快,效率更高. 首先引入对 ...
- 用NetworkX生成并绘制(带权)无向图
NetworkX是一个非常强大的网络科学工具,它封装了图的数据结构和许多经典图算法,也内置了许多可视化函数可供调用. 1. 随机图生成 最经典的随机图当属我们在上一篇博客<Erdos-Renyi ...
- 分布式下Session一致性问题
一.Session一致性问题 1.1 什么是Session 用户使用网站的服务,基本上需要浏览器和web服务器进行多次交互,web服务器如何知道哪些请求是来自哪个会话的? 具体方式为:在会话开始时,分 ...
- Fail2ban 安装Fail2ban到Ubuntu
系统版本:Ubuntu 16.04.5 LTS 软件版本:fail2ban-0.9.3 硬件要求:无 1.安装Fail2ban root@local:~# apt-get update root@lo ...
- java 5种IO模型
每日一句 人的痛苦会把自己折磨到多深呢? 每日一句 You cannot swim for new horizons until you have courage to lose sight of t ...
- kruskar重构树
只略略讲一点基本方式与思想了 构建 并查集,边按从小(大)到大(小)加入,建新点,点权为此边权,该点为两点根的父亲. 性质:(此处为最小生成树重构树) 1.lca(u,v)为u到v路径上的最大边权 2 ...
- 原理:C++为什么一般把模板实现放入头文件
写在前面 本文通过实例分析与讲解,解释了为什么C++一般将模板实现放在头文件中.这主要与C/C++的编译机制以及C++模板的实现原理相关,详情见正文.同时,本文给出了不将模板实现放在头文件中的解决方案 ...
- 用Arduino玩GM65二维码扫描模块
目录 用Arduino玩GM65二维码扫描模块 用Arduino玩GM65二维码扫描模块 最近在做Capstone,内容是我们之前实验室参加过的工程训练的物流搬运小车,所以现在来复盘一下我使用Ardu ...
- 手写一个仿微信登录的nodejs程序
前言 首先,我们看一下微信开放文档中的一张图: 上面的一幅图中清楚地介绍了微信登录整个过程,下面对图上所示进行总结: 一.二维码的获得 用户打开登录网页后,登录网页后台根据微信OAuth2.0协议向微 ...