enumerate()
enumerate(sequence, [start=0])
>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1)) # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
... print i, element
...
0 one
1 two
2 three
np.arange()
#一个参数 默认起点0,步长为1 输出:[0 1 2]
a = np.arange(3)
#两个参数 默认步长为1 输出[3 4 5 6 7 8]
a = np.arange(3,9)
#三个参数 起点为0,终点为3,步长为0.1 输出[ 0. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1. 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9]
a = np.arange(0, 3, 0.1)
range()
>>>list(range(1, 5))
[1, 2, 3, 4]
>>>for i in range(1, 5):
... print(i)
1
2
3
4
range()返回的是range object,
np.arange()返回的是numpy.ndarray
两者都是均匀地(evenly)等分区间;
range尽可用于迭代,而np.arange作用远不止于此,它是一个序列,可被当做向量使用。
range()不支持步长为小数,np.arange()支持步长为小数
np.random.randint()
numpy.random.randint(low, high=None, size=None, dtype=‘l’)
- low: int 生成的数值最低要大于等于low。 (hign = None时,生成的数值要在[0, low)区间内)
- high: int (可选) 如果使用这个值,则生成的数值在[low, high)区间。
- size: int or tuple of ints(可选) 输出随机数的尺寸,比如size = (m * n* k)则输出同规模即m *
n* k个随机数。默认是None的,仅仅返回满足要求的单一随机数。 - dtype: dtype(可选): 想要输出的格式。如int64、int等等
>>> np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])
>>> np.random.randint(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
>>> np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1],
[3, 2, 2, 0]])
>>>np.random.randint(2, high=10, size=(2,3))
array([[6, 8, 7],
[2, 5, 2]])