range()とnp.arange()

5796 ワード

  • range()range objectを返し、np.nrange()numpy.ndarray() rangeを返して反復に使用できるが、np.nrangeはこれにとどまらず、ベクトルとして使用できるシーケンスである.
  • range()はステップ長が小数であることをサポートせず、np.arange()はステップ長が小数である
  • をサポートする.
  • の両方を反復
  • に使用することができる.
  • 両方に3つのパラメータがあり、1番目のパラメータを起点とし、3番目のパラメータをステップ長とし、2番目のパラメータまでの2番目のパラメータを含まないデータ系列がある意味、STLにおける反復器からなる区間と同じ、すなわち左閉右開の区間である.[first, last)または厳密に書かない[first:step:last)
  • >>>range(1,5)
    range(1,5)
    >>>tuple(range(1, 5))
    (1, 2, 3, 4)
    >>>list(range(1, 5))
    [1, 2, 3, 4]
    
    
    >>>r = range(1, 5)
    >>>type(r)
    'range'>
    
    >>>for  i in range(1, 5):
    ...    print(i)
    1
    2
    3
    4
    
    >>> np.arange(1, 5)
    array([1, 2, 3, 4])
    
    >>>range(1, 5, .1)
    Traceback (most recent call last):
      File "", line 1, in 
    TypeError: 'float' object cannot be interpreted as an integer
    
    >>>np.arange(1, 5, .5)
    array([ 1. ,  1.5,  2. ,  2.5,  3. ,  3.5,  4. ,  4.5])
    
    >>>range(1, 5, 2)
    >>>for i in range(1, 5, 2):
    ...    print(i)
    1
    3
    
    >>for i in np.arange(1, 5):
    ...    print(i)
    1
    2
    3
    4