📅  最后修改于: 2023-12-03 15:11:13.855000             🧑  作者: Mango
在编写程序时,我们经常需要生成一定范围内的数组。这时,我们可以使用一些函数来实现。本文介绍了几种在不同情况下生成数组范围的方法。
当我们需要生成一定范围内的连续整数数组时,可以使用 range
函数。该函数返回指定范围内的连续整数序列。
arr = list(range(start, end+1, step))
其中,start
表示序列的起始值,end
表示序列的结束值,step
表示序列中相邻两个元素之间的步长(默认值为 1)。需要注意的是,end
的范围是左闭右开的。
例如,生成 1 到 10 的整数数组:
arr = list(range(1, 11))
print(arr) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
如果需要生成步长为 2 的数组:
arr = list(range(1, 11, 2))
print(arr) # [1, 3, 5, 7, 9]
在一定范围内生成等差数列可以使用 numpy
库中的 arange
或 linspace
函数。其中,arange
函数返回指定范围、步长的等差数列,linspace
函数返回指定数量的等差数列。
import numpy as np
arr = np.arange(start, end, step)
arr = np.linspace(start, end, num)
例如,生成 1 到 10 的等差数列:
arr = np.arange(1, 11)
print(arr) # [ 1 2 3 4 5 6 7 8 9 10]
如果需要生成 10 个元素的等差数列:
arr = np.linspace(1, 10, 10)
print(arr) # [ 1. 2.11111111 3.22222222 4.33333333 5.44444444 6.55555556 7.66666667 8.77777778 9.88888889 10. ]
当需要随机生成数组时,可以使用 numpy
库中的 random
模块。其中常用的有 randint
,rand
,randn
和 uniform
函数。
import numpy as np
arr = np.random.randint(low, high, size)
arr = np.random.rand(size)
arr = np.random.randn(size)
arr = np.random.uniform(low, high, size)
例如,生成 10 个 1 到 100 之间的随机整数:
arr = np.random.randint(1, 100, 10)
print(arr) # [45 58 35 2 39 22 83 30 47 35]
如果需要生成 10 个在 0 到 1 之间的随机浮点数:
arr = np.random.rand(10)
print(arr) # [0.62799207 0.388743 0.14059775 0.58334365 0.2714898 0.27396179 0.93727271 0.91115059 0.8525549 0.91868357]
以上就是几种常见的生成数组范围的方法。不同的情况下可以选择合适的方法来生成需要的数组。