[解決済み】なぜこの反復リスト成長コードはIndexError: list assignment index out of rangeを出すのでしょうか?
2022-04-04 02:29:22
質問
次のようなコードを考えてみてください。
i = [1, 2, 3, 5, 8, 13]
j = []
k = 0
for l in i:
j[k] = l
k += 1
print j
出力は(Python 2.6.6 on Win 7 32-bit) です。
> Traceback (most recent call last):
> j[k] = l IndexError: list assignment index out of range
何か単純に理解できないのでしょうね。どなたか教えてください。
どのように解決するのですか?
j
は空のリストですが、あなたは要素
[0]
はまだ存在しません。
代わりに次のようにして、新しい要素をリストの最後に追加してみてください。
for l in i:
j.append(l)
もちろん、既存のリストをコピーしたいだけなら、実際にはこんなことはしないでしょう。ただやるだけだ。
j = list(i)
また、Pythonのリストを他の言語の配列のように使いたい場合は、要素をNULL値に設定したリストを事前に作成することもできます(
None
のように、特定の位置の値を上書きすることができます。
i = [1, 2, 3, 5, 8, 13]
j = [None] * len(i)
#j == [None, None, None, None, None, None]
k = 0
for l in i:
j[k] = l
k += 1
注意しなければならないのは
list
オブジェクトは、存在しないインデックスに値を割り当てることを許しません。
関連
-
Python関数の高度な応用を解説
-
Python百行で韓服サークルの画像クロールを実現する
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】「OverflowError: Python int too large to convert to C long" on windows but not mac
-
[解決済み】ValueError: xとyは同じサイズでなければならない
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み】IEnumerable vs List - What to Use? どのように動作するのでしょうか?
最新
-
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によるLeNetネットワークモデルの学習と予測
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
pyCaret効率化乗算器 オープンソース ローコード Python機械学習ツール
-
Pythonショートビデオクローラーチュートリアル
-
PythonによるExcelファイルの一括操作の説明
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】Python elifの構文が無効です【終了しました
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み】 'numpy.float64' オブジェクトは反復可能ではない
-
[解決済み】ValueError: xとyは同じサイズでなければならない