2 次元リストを初期化する

PythonPythonBeginner
今すぐ練習

This tutorial is from open-source community. Access the source code

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Python では、2次元リストはリストのリストです。グリッド、テーブル、行列を表すのに便利なデータ構造です。2次元リストを初期化するには、指定された幅と高さのリストのリストを作成し、各要素を既定値で初期化します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/ControlFlowGroup -.-> python/list_comprehensions("List Comprehensions") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/default_arguments("Default Arguments") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/comments -.-> lab-13660{{"2 次元リストを初期化する"}} python/for_loops -.-> lab-13660{{"2 次元リストを初期化する"}} python/list_comprehensions -.-> lab-13660{{"2 次元リストを初期化する"}} python/lists -.-> lab-13660{{"2 次元リストを初期化する"}} python/tuples -.-> lab-13660{{"2 次元リストを初期化する"}} python/function_definition -.-> lab-13660{{"2 次元リストを初期化する"}} python/default_arguments -.-> lab-13660{{"2 次元リストを初期化する"}} python/build_in_functions -.-> lab-13660{{"2 次元リストを初期化する"}} end

2次元リストを初期化する

幅と高さ、および値が与えられた2次元リストを初期化する関数initialize_2d_list(w, h, val=None)を作成します。この関数は、幅w、高さhh行からなるリストを返し、各行は長さwのリストで、valで初期化されます。valが指定されない場合、既定値はNoneでなければなりません。

def initialize_2d_list(w, h, val = None):
  return [[val for x in range(w)] for y in range(h)]
initialize_2d_list(2, 2, 0) ## [[0, 0], [0, 0]]

まとめ

このチャレンジでは、Python で 2 次元リストを初期化する方法を学びました。リスト内包表記とrange()を使って、幅wのリストがh行生成され、各行は既定値で初期化されます。また、値が提供されない場合に既定値をNoneに設定する方法も学びました。