【Numpy】深入剖析Numpy.arange()与range()的区别
  TEZNKK3IfmPf 2023年11月15日 26 0

问题

Numpy是一个极其常用的而且十分好用的第三方库,特别适用于处理各种多维数组,提供了非常多的方法。arange是生成数组的一种方法,与Python自带的range功能十分相似,那么二者的区别是什么呢?

方法

import numpy as np

a = range(10)
print(a) # range(0, 10)
print(list(a))  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

b = range(1, 10)
print(list(b)) # [1, 2, 3, 4, 5, 6, 7, 8, 9]

c = range(1, 10, 2)
print(list(c)) # [1, 3, 5, 7, 9]

# range的步长不支持小数
# range(1, 10, 0.1)

d = np.arange(10)
print(type(a), type(d), d) # <class 'range'> <class 'numpy.ndarray'> [0 1 2 3 4 5 6 7 8 9]

e = np.arange(1, 10, 1.5) 
print(e) # [1.  2.5 4.  5.5 7.  8.5]

以上可以看到,主要区别在于:

  • 返回的类型不一样,range()返回的是class ‘range’,而np.arange()返回的是class ‘numpy.ndarray’;
  • range()的步长只能是整数,而np.arange()则不受此限制;
  • 由于np.arange()返回的是ndarray,其提供了更加丰富的方法;
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: 求煤球的数量 下一篇: Java 异步编程导论
  1. 分享:
最后一次编辑于 2023年11月15日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   39   0   0 python开发语言
  TEZNKK3IfmPf   2024年05月31日   31   0   0 python
TEZNKK3IfmPf