>>> range(1,11)
あなたにあげる
[1,2,3,4,5,6,7,8,9,10]
なぜ1-11ではないのですか?
彼らはただランダムにそのようにすることに決めたのでしょうか、それとも私が気づいていない何か価値があるのでしょうか?
ベストアンサー1
which を呼び出すと、 に等しい 10 個の要素を含むrange(0, 10)
which が返されるのが一般的だからです。プログラマーは 0 ベースのインデックスを好むことに注意してください。[0,1,2,3,4,5,6,7,8,9]
len(range(0, 10))
また、次の一般的なコード スニペットも検討してください。
for i in range(len(li)):
pass
range()
がちょうど まで上がった場合、問題が発生することがわかりますか? プログラマーは明示的に 1 を引く必要があります。これは、プログラマーがよりもlen(li)
を好むという一般的な傾向にも従います。for(int i = 0; i < 10; i++)
for(int i = 0; i <= 9; i++)
開始値が 1 である range を頻繁に呼び出す場合は、独自の関数を定義することをお勧めします。
>>> def range1(start, end):
... return range(start, end+1)
...
>>> range1(1, 10)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]