Pyhton-range和arange的区别及使用(numpy)

本文详细介绍了Python中range函数的用法及其与numpy库中arange函数的区别。range函数用于生成一个可迭代的对象,而arange则返回一个ndarray类型的数组。此外,还介绍了numpy库中linspace函数的使用,它可以指定返回数组的元素数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文Pyhton版本基于Python3.x。

工具 jupyter notebook

参考资料-range函数用法

[numpy-arange-官方文档]

 

range()函数

range()返函数回的是一个可迭代对象。不是列表类型,直接打印不会打印列表

# 因为range()函数返回的不是列表,所以不能直接打印列表,需要结合遍历
print(range(10))
# range(0, 10)

语法:

range(stop)
range(start, stop[, step])

参数说明:(index从0开始,左闭右开)

  • start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
  • stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
  • step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

实例:

# 输出0-9
for i in range(10):
    print(i, end=', ')
# 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 

 

# 左闭右开,不包含10
for i in range(0,10,2):
    print(i, end=', ')
# 0, 2, 4, 6, 8, 

arange()函数

numpy.arange([start, ]stop, [step, ]dtype=None)

回给定间隔内的均匀间隔的值。

取值范围:左闭右开 [start, stop)。

对于整数参数,等效于Python内置函数range()函数,但返回的是ndarray类型

参数说明:

  • start:开始坐标,可选参数;
  • stop:结束坐标,必选参数,取不到该值;
  • step:取值间隔,又称步长,可选参数。默认为1,如果step指定为位置参数,则必须指定start。

返回值:ndarray(均匀间隔的数组)!

import numpy as np
np.arange(10)
# Out: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
  • 返回0到20之间间隔为5的值
print(np.arange(0,20,5))
# [ 0  5 10 15]
  • 还可以是浮点型,返回0.1到1.2之间间隔为0.1的值
print(np.arange(0.1,1.2,0.1))
# [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.  1.1]

Numpy补充知识点

linspace()简单使用

arange()可以指定步长,但不能指定返回的个数。

numpy提供了linspace()函数可以指定函数的返回个数,可以自动计算步长大小。

linspace 返回的值左闭右闭的数组,[start, stop]。

实例:

返回1到3之间的九个数,等差数列

print(np.linspace(1,3,9))
# [1.   1.25 1.5  1.75 2.   2.25 2.5  2.75 3.  ]

 

### Python 数组的使用方法 在 Python 中,数组可以通过多种方式进行创建操作。最常用的方式之一是通过 `list` 或者更高效的第三方库如 NumPy 提供的数据结构。 #### 列表作为基本数组实现 列表是最简单的序列数据容器,在初始化时可以直接赋值一系列元素: ```python arr_list = [1, 2, 3, 4, 5] print(arr_list) # 输出: [1, 2, 3, 4, 5] ``` 对于只读且频繁迭代访问的情况,建议采用元组替代列表以提高性能[^4]。 #### 使用 NumPy 进行高效数值计算 当涉及到大量数值型数据处理时,NumPy 是首选工具包。其核心对象 ndarray 支持快速向量化运算以及广播机制,极大简化了矩阵与张量的操作过程。 安装并导入 NumPy 后即可开始构建一维或多维数组实例: ```python import numpy as np # 创建简单的一维数组 one_d_array = np.array([1, 2, 3]) print(one_d_array) # 构建二维数组(即矩阵) two_d_matrix = np.array([[1, 2], [3, 4]]) print(two_d_matrix) ``` 针对特定场景下的需求,还可以利用内置函数自动生成具有规律性的数组: - `np.zeros()`:全零填充; - `np.ones()`:全部置为1; - `np.arange(start, stop, step)`:类似于 range 函数但返回 ndarray 类型的结果; - `np.linspace(begin_value, end_value, num_of_points)`:在线性空间内均匀分布指定数量点构成的新数组; 例如生成从0到9之间每隔2递增的一个整数序列可写成如下形式: ```python sequence = np.arange(0, 10, 2) print(sequence) # 结果为 array([0, 2, 4, 6, 8]) ``` 另外值得一提的是,借助于 NumPy 的强大功能可以轻松完成诸如逐元素相乘这样的复杂任务而无需显式循环语句: ```python arr_a = np.array([1, 2, 3]) arr_b = np.array([4, 5, 6]) product_result = arr_a * arr_b print(product_result) # 显示 [ 4 10 18] ``` 上述代码片段展示了如何运用 NumPy 实现两个相同长度的一维数组之间的按位乘积操作[^1]。 #### 字典存储复合类型数据 除了传统意义上的线性排列外,有时也需要关联不同种类的信息单元形成键值对集合——字典(dict),这同样属于广义上的“数组”。下面给出了一段关于字典定义的例子说明[^3]: ```python info_dict = { 'name': 'Alice', 'age': 25, 'hobbies': ['reading', 'swimming'] } for key, value in info_dict.items(): print(f"{key}: {value}") ``` 此部分介绍了几种常见的 Python 数据结构及其应用场景,特别是强调了 NumPy 在科学计算领域的重要性。希望这些内容能够帮助理解 Python 下不同类型数组的特点及优势所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值