【问题发现】

相信很多使用Python的小伙伴,都用到过range()函数,进行循环或遍历。

for i in range(len(a)):print(a[i])

但当我们用得正嗨时,可能突然看到其他作者的代码中用的并不是range()函数,而是arange()函数,就有些困惑,是不是代码写错了?自己写代码时,该用哪个更好,逼格更高呢?

其实两者功能十分相似,仅存在一点点区别。为了让大家更清楚地记住和区分它们,接下来将主要介绍它们的各自特点。

【问题解析】

1.range()函数和arange()函数最大的区别

前者是Python内置的函数,直接调用即可;后者是numpy中的函数,调用时一般采用np.arange()。

import numpy as np for i in np.arange(10):print(i)

2.range()函数仅支持整数步长

我们知道,range()函数具有3个参数,分别是起点、终点和步长。需要注意的是这3个参数均为整数型,不能设置为浮点型,这也导致了range()函数的返回值同样都是整数型的。

# range()函数的三种使用方法# 1.仅设置终点参数,默认起点为0,步长为1,返回值范围为[起点,终点)
>>>range(10)
0,1,2,3,4,5,6,7,8,9# 2.设置起点和终点,步长默认为1,返回值范围为[起点,终点)
>>>range(2,10)
2,3,4,5,6,7,8,9# 3.设置起点、终点和步长
>>>range(1,10,2)
1,3,5,7,9# 当设置起点、终点或步长为小数时,将会报错
>>>range(1,10,2.1)
TypeError: 'float' object cannot be interpreted as an integer

3.np.arange()函数支持小数步长

当然,在项目开过程中难免会遇到需要小数迭代序列,这时就需要np.arange()函数发挥它的作用了!首先,需要明确range()函数对整数参数的使用,np.arange()函数都能替代。

# np.arange()函数的整数型参数设置# 1.仅设置终点参数,默认起点为0,步长为1,返回值范围为[起点,终点)
>>>np.arange(10)
0,1,2,3,4,5,6,7,8,9# 2.设置起点和终点,步长默认为1,返回值范围为[起点,终点)
>>>np.arange(2,10)
2,3,4,5,6,7,8,9# 3.设置起点、终点和步长
>>>np.arange(1,10,2)
1,3,5,7,9

其次,np.arange()函数的3个参数均可设置为小数,可以最大自由化我们的需求。

# np.arange()函数的整数型参数设置# 1.终点为小数,默认起点为0.0,步长为1.0
>>>np.arange(10.2)
0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0# 2.设置起点和终点均为小数,步长默认为1.0,返回值范围为[起点,终点)
>>>np.arange(2.1, 5.1)
2.1,3.1,4.1# 3.设置起点、终点和步长均为小数
>>>np.arange(1.1, 5.2, 1.1)
1.1,2.2,3.3,4.4

4. 两者数据类型不同

range()函数返回的类型为range对象,np.arange()函数返回的类型为array类型对象。作者认为该区别影响不大,不做过多赘述。

Python中的range函数和arange函数的区别与联系相关推荐

  1. [小笔记]TypeScript/JavaScript模拟Python中的Range函数

    [小笔记]TypeScript/JavaScript 模拟Python中的Range函数 李俊才/CSDN博客 CSDN用户名:jcLee95 邮箱:291148484@163.com 原创不易,感谢 ...

  2. Python中的range函数

    大家好,我是翔宇!今天我们聊聊Python中很重要的range对象!(本文章基于Python3环境,Python2环境下的range会有所不同,但并不影响我们使) range对象 1.range对象是 ...

  3. python中的map,feilter,和reduce函数

    python中的map,feilter,和reduce函数 map() map()的原型是map(function, iterable, -) 参数 function: 传的是一个函数名,可以是pyt ...

  4. python列表去重函数_对python中两种列表元素去重函数性能的比较方法

    测试函数: 第一种:list的set函数 第二种:{}.fromkeys().keys() 测试代码: #!/usr/bin/python #-*- coding:utf-8 -*- import t ...

  5. python中rand函数是什么意思_科学网-Python中*和**作用及随机数产生函数 np.random.rand()/numpy.random.unifo...-张伟的博文...

    [第一部分] Python中的 * 和 ** ,能够让函数支持任意数量的参数,它们在函数定义和调用中,有着不同的目的! 一. 打包参数 * 的作用:在函数定义中,收集所有位置参数到一个新的元组,并将整 ...

  6. python关键字define_在Python中,使用关键字define定义函数。

    在Python中,使用关键字define定义函数. 以下属于生药学有效性评价的是A:有效成分定量分析B:限量检查C:重金属检测D:基原鉴定 若有如下定义和语句:A:7B:12C:8D:9 图示电路中的 ...

  7. 从Python中的另一个文件调用函数

    本文翻译自:Call a function from another file in Python Set_up: I have a .py file for each function I need ...

  8. python命名规则数字开头的成语_浅谈Python中带_的变量或函数命名

    搜索热词 Python 的代码风格由 PEP 8 描述.这个文档描述了 Python 编程风格的方方面面.在遵守这个文档的条件下,不同程序员编写的 Python 代码可以保持最大程度的相似风格.这样就 ...

  9. Python中求最大值和最小值max()函数、min()函数

    [小白从小学Python.C.Java] [Python全国计算机等级考试] [Python数据分析考试必会题] ● 标题与摘要 Python中求最大值和最小值 max()函数.min()函数 ● 选 ...

最新文章

  1. python异常处理--try except else raise finally
  2. ASP 三十条精华代码
  3. Pat甲级 1002 A+B for Polynomials
  4. OpenCV的k - means聚类 -对图片进行颜色量化
  5. MySQL5.6 yum安装
  6. Java多线程-程序运行堆栈分析
  7. 【CRMEB知识付费系统v1.4.4】
  8. element ui table组件扩展关于列表编辑按钮的位置放置
  9. Adobe Edge Animate 1.0-软件内部教程
  10. python安卓下载-python手册中文版apk下载
  11. [转载] Python Pandas 转换unix时间戳
  12. kvm虚拟机vnc和spice配置
  13. 调用阿里语音合成接口(文字转语音)
  14. 完美国际坐标查看器(可更新)
  15. Word文档的使用技巧
  16. Python案例1—人民币与美元的汇率兑换V_3.0
  17. xcode13 swift语言 ios开发 快捷代码优化方式(代码重构)例子
  18. 软件测试——逻辑覆盖
  19. 中国高科技、高成长50强
  20. 手机浏览器APP哪几个值得推荐?为什么?

热门文章

  1. android-sdk-windows版本下载
  2. 【程序】STM32H743ZI单片机驱动DP83848以太网PHY芯片,移植lwip 2.1.3协议栈,并加入网线热插拔检测的功能
  3. Linux可加载内核模块(LKM)(转载)
  4. LA@二次型和标准化
  5. 读SQL进阶教程笔记12_地址与三值逻辑
  6. 国际法方向的论文选题能选什么?
  7. [算法] 高斯消元详解
  8. 如何安装第三方站点下载的Matlab工具箱或硬件支持包,亲测有效。
  9. linux的dhcp服务
  10. 学习区块链(一)--我为什么要学习区块链?