[解決済み】range(start, end)にendが含まれないのはなぜ?
2022-03-24 06:38:50
質問
>>> range(1,11)
は、あなたに
[1,2,3,4,5,6,7,8,9,10]
なぜ1-11ではないのか?
適当に決めたのか、それとも私の知らない価値があるのか。
解決方法は?
を呼び出す方が一般的だからです。
range(0, 10)
を返す
[0,1,2,3,4,5,6,7,8,9]
に等しい10個の要素を含んでいます。
len(range(0, 10))
. プログラマは0ベースのインデックスを好むことを覚えておいてください。
また、次のような一般的なコード・スニペットも考えてみましょう。
for i in range(len(li)):
pass
があればわかるかな?
range()
がちょうど
len(li)
というのは、問題があるのでしょうか?プログラマは明示的に1を引く必要があります。これは、プログラマーが
for(int i = 0; i < 10; i++)
を超える
for(int i = 0; i <= 9; i++)
.
1から始まる範囲を頻繁に呼び出す場合は、独自の関数を定義した方がよいでしょう。
>>> def range1(start, end):
... return range(start, end+1)
...
>>> range1(1, 10)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
関連
-
[解決済み] UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] 文字列が空かどうかを確認する方法は?
-
[解決済み] Pythonのswitch文の代用品?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み] Pythonのクラスはなぜオブジェクトを継承するのですか?
-
[解決済み] 億の相対的輸入
-
[解決済み] ディクショナリーで最大値を持つキーを取得する?
-
[解決済み] Pythonにおけるincrementとdecrement演算子の挙動
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python implement mysql add delete check change サンプルコード
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
Python Pillow Image.save jpg画像圧縮問題
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】RuntimeWarning: invalid value encountered in double_scalars で numpy の除算ができない。
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み] データ型が理解できない
-
[解決済み】 AttributeError: モジュール 'matplotlib' には属性 'plot' がない。