Python——range()、xrange()和np.arange()应用说明

(1)range()和xrange()函数

  • 在 python 2.x 版本中,同时存在range()和xrange()函数,其中,range()返回值是一个列表,xrange()返回值是一个迭代值;
  • 在 python 3.x 版本中,取消了xrange()的定义,仅保留了range()函数,且range()函数的返回值也改为迭代值;
  • xrange和range的语法格式相同。

语法:
- 格式1: range(stop)
- 格式2: range(start, stop[, step])
- 返回值:range 对象
- start表示起始值(正整数/负整数),stop表示终止值(正整数/负整数),step表示步进值(默认为1,正整数/负整数);
- 当输入参数只有stop时,起始值是0。
- 无论如何配置,返回值中均不包括stop值。
- 如果要将生成的range()对象变为列表就需要利用list(range(..))方式;

案例

#本编译环境时python 3.6版本,xrange运行报错
xrange(10)
---------------------------------------------------------------------------

NameError                                 Traceback (most recent call last)

 in ()
      1 #本编译环境时python 3.6版本,xrange运行报错
----> 2 xrange(10)


NameError: name 'xrange' is not defined
range(6)    #迭代值范围是0~6,但是不包括6
range(0, 6)
list(range(6))   #查看迭代值包含的元素
[0, 1, 2, 3, 4, 5]
list(range(1,10,2))   # 起始值为1,终点值为10,步进为2
[1, 3, 5, 7, 9]
list(range(-4,4))    #起始值为负数
[-4, -3, -2, -1, 0, 1, 2, 3]
list(range(6,-6,-1))   #起始值为正数,终点值为负数,步进为负数
[6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5]

(2)range()和np.arange()函数

  • arange()是Numpy库中的函数,其返回值是数组对象,常用于循环;
  • range()是python的内置函数,其返回值是range对象(迭代值),可用于生成秩为1的数组

语法:
- 格式:arange([start,] stop[, step,], dtype=None)
- 在给定的范围内返回均匀间隔的值,其中step可以为小数;
- 该函数生产的数组范围是[start,stop),即不包括stop值;
- start表示起始值(默认为0,可正,可负,可小数),stop表示终止值(正/负数,可小数),step步进值(正/负数,可小数);

import numpy as np

np.arange(3)   #  仅输入stop值,此时start默认从0开始
array([0, 1, 2])
np.arange(1,8)   #生成秩为1的数组,不能表示向量和矩阵  步进默认为1
array([1, 2, 3, 4, 5, 6, 7])
np.arange(1,8).reshape(1,7)   #将通过arange()生成的秩为1的数组,转换成1行7列的行向量(其实,也可以认为是二维数组)
array([[1, 2, 3, 4, 5, 6, 7]])
np.arange(1,2,0.1)      #步进为0.1
array([ 1. ,  1.1,  1.2,  1.3,  1.4,  1.5,  1.6,  1.7,  1.8,  1.9])
np.arange(6,-8,-1)
array([ 6,  5,  4,  3,  2,  1,  0, -1, -2, -3, -4, -5, -6, -7])
np.arange(0.5,2,0.1)
array([ 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])

你可能感兴趣的:(Python,numpy库)