属性 (取得のみ) | 備考 |
---|---|
start 3.3 | 開始整数値 |
step 3.3 | ステップ整数値 |
stop 3.3 | 終了整数値 |
メソッド |
---|
コンストラクタ |
count【要素出現回数】3.2 |
index【要素インデックス】3.2 |
比較演算子 | 備考 |
---|---|
range1 == range2 | 要素を順に比較 (属性の比較なし) 3.3 オブジェクト比較 3.2 |
range1 != range2 | 要素を順に比較 (属性の比較なし) 3.3 オブジェクト比較 3.2 |
range1 is range2 | オブジェクト比較 |
range1 is not range2 | オブジェクト比較 |
【未サポート】 range1 < range2 range1 > range2 range1 <= range2 range1 >= range2 |
該当レンジの変更なし | |
---|---|
【指定値】 i・j<0 3.2 i・j が省略 または None i・j が範囲外 | 【特記なしの動作】 末尾からのインデックス ( len(range) + i・j :末尾が -1 ) 先頭 または 末尾 (k の正負により範囲が広がる位置) 先頭 または 末尾 (近いほう) |
演算 | 備考 |
x in range | レンジ range のある要素が x と等しければ True 、等しくなければ False |
x not in range | レンジ range のある要素が x と等しければ False 、等しくなければ True |
【未サポート】 range1 + range2 | レンジ range1 と レンジ range2 の結合 |
【未サポート】 range * n n * range | レンジ range を n(整数) 回結合 (n<0:空のレンジ) 注:参照のコピー |
range[i ] | レンジ range の i 番目の要素 範囲外:IndexError 例外 |
range[[i] :[j]] 3.2 | レンジ range の i~j(含まない) 番目までの要素 |
range[[i] :[j] :[k]] 3.2 | レンジ range の i~j(含まない) 番目までの k(省略:1) 番目 毎の要素 0<k:先頭から末尾方向 k<0:末尾から先頭方向・i は末尾側を指定 (範囲補正なし) k=0:不可 (ValueError 例外) |
len(range) | レンジ range の要素数 |
max(range) | レンジ range の最大要素 |
min(range) | レンジ range の最小要素 |
【未サポート】 range.index(x [, i [, j ]]) | レンジ range 中で 要素 x が i~j(含まない) の間で 最初に出現する位置インデックス 未検出:ValueError 例外 |
range.index(x) 3.2 | レンジ range 中で 要素 x が最初に出現する位置インデックス 未検出:ValueError 例外 |
range.count(x) 3.2 | レンジ range 中に 要素 x が出現する回数 |
# 繰り返し処理
for i in range(3):
print(i)
# 出力:0
# 出力:1
# 出力:2
for x in range(3):
for y in range(2):
print("x={} y={}".format(x, y))
# 出力:x=0 y=0
# 出力:x=0 y=1
# 出力:x=1 y=0
# 出力:x=1 y=1
# 出力:x=2 y=0
# 出力:x=2 y=1
# その他
import sys
rng = range(sys.maxsize + 1, sys.maxsize + 2)
print(len(rng)) # 出力:1
rng = range(sys.maxsize + 1)
#print(len(rng)) # OverflowError 例外
rng = range(5)
print(rng) # 出力:range(0, 5)
print(rng.start) # 出力:0
print(rng.stop) # 出力:5
print(rng.step) # 出力:1
rng = range(2, 5)
print(rng) # 出力:range(2, 5)
print(rng.start) # 出力:2
print(rng.stop) # 出力:5
print(rng.step) # 出力:1
rng = range(1, 3, 2)
print(rng) # 出力:range(1, 3, 2)
print(rng.start) # 出力:1
print(rng.stop) # 出力:3
print(rng.step) # 出力:2
rng1 = range(5)
rng2 = range(5)
rng3 = range(3)
print(rng1 == rng2) # 出力:True
print(rng1 == rng3) # 出力:False
print(rng1 != rng2) # 出力:False
print(rng1 != rng3) # 出力:True
rng4 = range(1, 5, 3)
print(rng4) # 出力:range(1, 5, 3)
print(list(rng4)) # 出力:[1, 4]
rng5 = range(1, 7, 3)
print(rng5) # 出力:range(1, 7, 3)
print(list(rng5)) # 出力:[1, 4]
print(rng4 == rng5) # 出力:True
rng6 = range(4, 0, -3)
print(rng6) # 出力:range(4, 0, -3)
print(list(rng6)) # 出力:[4, 1]
print(rng4 == rng6) # 出力:False
rng1 = range(5)
rng2 = range(5)
rng3 = rng1
print(rng1 is rng2) # 出力:False
print(rng1 is rng3) # 出力:True
print(rng1 is not rng2) # 出力:True
print(rng1 is not rng3) # 出力:False
rng = range(5)
# x in range
print(1 in rng) # 出力:True
print(5 in rng) # 出力:False
# x not in range
print(1 not in rng) # 出力:False
print(5 not in rng) # 出力:True
# range[i]
rng = range(7)
print(rng[3]) # 出力:3
print(rng[-2]) # 出力:5
#print(rng[99]) # IndexError 例外
#print(rng[-99]) # IndexError 例外
# range[i:j]
rng = range(7)
print(list(rng[2:4])) # 出力:[2, 3]
print(list(rng[2:-3])) # 出力:[2, 3]
print(list(rng[-5:-3])) # 出力:[2, 3]
print(list(rng[:4])) # 出力:[0, 1, 2, 3]
print(list(rng[2:])) # 出力:[2, 3, 4, 5, 6]
print(list(rng[:])) # 出力:[0, 1, 2, 3, 4, 5, 6]
print(list(rng[-99:4])) # 出力:[0, 1, 2, 3]
print(list(rng[2:99])) # 出力:[2, 3, 4, 5, 6]
print(list(rng[-99:99])) # 出力:[0, 1, 2, 3, 4, 5, 6]
# range(i:j:k)
rng = range(7)
print(list(rng[1:6:2])) # 出力:[1, 3, 5]
print(list(rng[1:-1:2])) # 出力:[1, 3, 5]
print(list(rng[-6:-1:2])) # 出力:[1, 3, 5]
print(list(rng[-99:99:2])) # 出力:[0, 2, 4, 6]
print(list(rng[5:1:-2])) # 出力:[5, 3]
print(list(rng[-2:1:-2])) # 出力:[5, 3]
print(list(rng[-2:-6:-2])) # 出力:[5, 3]
print(list(rng[1:5:-2])) # 出力:[]
#print(list(rng[5:1:0])) # ValueError 例外
print(list(rng[:6:2])) # 出力:[0, 2, 4]
print(list(rng[1::2])) # 出力:[1, 3, 5]
print(list(rng[1:6:])) # 出力:[1, 2, 3, 4, 5]
print(list(rng[::2])) # 出力:[0, 2, 4, 6]
print(list(rng[1::])) # 出力:[1, 2, 3, 4, 5, 6]
print(list(rng[::])) # 出力:[0, 1, 2, 3, 4, 5, 6]
# len(range)
rng = range(5)
print(list(rng)) # 出力:[0, 1, 2, 3, 4]
print(len(rng)) # 出力:5
rng = range(1, 5)
print(list(rng)) # 出力:[1, 2, 3, 4]
print(len(rng)) # 出力:4
rng = range(1, 6, 2)
print(list(rng)) # 出力:[1, 3, 5]
print(len(rng)) # 出力:3
rng = range(-3, 6, 2)
# min(range)
print(min(rng)) # 出力:-3
# max(range)
print(max(rng)) # 出力:5
# range.index(x)
rng = range(5)
print(list(rng))
# 出力:[0, 1, 2, 3, 4]
print(rng.index(1)) # 出力:1
print(rng.index(4)) # 出力:4
#print(rng.index(5)) # ValueError 例外
# range.count(x)
rng = range(5)
print(rng.count(0)) # 出力:1
print(rng.count(4)) # 出力:1
print(rng.count(5)) # 出力:0
class range(stop)
class range(start, stop[,step])
start開始整数値 (上側の構文では 0)
stop終了整数値 (含まない)
stepステップ整数値 (省略:1)
【要素】
range[i]start+step*i (0 ≦ i)
stepが 正数range[i] < stop
stepが 負数stop < range[i]
stepが 0ValueError 例外
rng = range(5)
print(list(rng)) # 出力:[0, 1, 2, 3, 4]
rng = range(0, 5)
print(list(rng)) # 出力:[0, 1, 2, 3, 4]
rng = range(1, 5)
print(list(rng)) # 出力:[1, 2, 3, 4]
rng = range(0, 5, 1)
print(list(rng)) # 出力:[0, 1, 2, 3, 4]
rng = range(0, 5, 2)
print(list(rng)) # 出力:[0, 2, 4]
rng = range(1, 5, 2)
print(list(rng)) # 出力:[1, 3]
rng = range(5, 0, -1)
print(list(rng)) # 出力:[5, 4, 3, 2, 1]
rng = range(5, 0, -2)
print(list(rng)) # 出力:[5, 3, 1]
rng = range(5, 1, -2)
print(list(rng)) # 出力:[5, 3]
#rng = range(1, 5, 0) # ValueError 例外