1. ホーム
  2. python

range()とrange()の違いについて

2022-02-16 20:01:33
  • range(start, end, step) は、開始値と終了値を持つリストオブジェクト(range.objectとしても知られる)を返します。 ただし、終端値なし int型リストのみ作成可能です。
  • arange(start, end, step) は range() と同様で、終了値を含みません。しかし、配列オブジェクトを返します。numpyモジュール(import numpy as np or from numpy import*)を必要とし、rangeはfloatデータを使用することができます。
  • 以下のような例があります。
  • >>> from numpy import*
    >>> arange(1,1.9,0.1) # can be float type
    array([ 1. , 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8])
    >>> range(1,10,2) #range(1,10,2) does not generate [1,3,5,6,9] but a list object
    range(1, 10, 2)
    >>> for value in range(1,10,2)
    SyntaxError: invalid syntax
    >>> for value in range(1,10,2):
    	print(value)
    
    	
    1
    3
    5
    7
    9
    >>> valuelist=list(range(1,10,1))
    >>> print(valuelist)
    [1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> valuelist=list(range(1,10,0.1)) #range must be int type 
    >>> print(valuelist)
    SyntaxError: multiple statements found while compiling a single statement
    >>>