2025年1月10日
018-1.SPIKEプライムPython入門-第6回「配列の使い方」
この連載では「レゴ エデュケーションSPIKEプライム(以下、SPIKE)」を使ったPython(SPIKEアプリ)によるプログラミングの方法を紹介します。 Python(パイソン)はプログラミング言語の一つです。Pythonは教育や人工知能の研究など様々な分野で使われていて、人気があります。 Pythonの主な特徴はオブジェクト指向を採用していることです。オブジェクト指向というのはプログラムの機能をオブジェクトという単位で切り分けて扱う手法のことです。オブジェクト指向は複雑なプログラムを作る場合に効果を発揮します。(文/松原拓也)
◆ 配列とは

今回は「配列」の使い方を紹介します。
配列とは複数のデータを格納することができる変数のことです。配列は複雑なプログラムを作る時に重宝します。正しくは配列変数と呼ぶべきですが、ここでは配列と呼ぶことにします。 配列には「インデックス番号」という通し番号が割り振られます。インデックス番号は0番から始まります。

ワードブロックの場合、配列は「リスト」という機能で使うことができました。
このように「リストを作る」ボタンを押すと、配列を作成することができます。

Pythonの場合、配列を作るには次のように記述します。
配列名 = [要素,要素,要素,要素,~]
この「要素」というのは格納するデータのことです。

この例では「array = ['A','B','C']」と記述することで、「array」という名前の配列を作ります。 インデックス番号の少ない順からA、B、Cが格納されます。要素の数は3です。

プログラムを実行すると、ラージハブのライトマトリクスに「A」→「B」→「C」の文字が順番に表示されます。
これで配列が正しく機能していることがわかります。
◆ 配列の追加と削除

続いて、配列の要素を追加する方法を紹介します。
要素を追加するには「append」という関数を使います。書式は「配列名.append(要素)」です。
この例では「A」「B」「C」の3つの要素を追加しています。

「remove」関数を使うと、特定の要素を削除することもできます。 削除したい配列を中身で指定するには「配列.remove(配列の内容)」と記述します。 インデックス番号で指定するには「配列.remove(配列[インデックス番号])」と記述します。

プログラムを実行すると、図のような処理が行われます。
配列には「A」「B」「C」のデータが格納されてます。このうち「B」を削除します。 削除した右隣のデータはすべて左側に1つずつ移動します。「C」を格納したインデックスは「2」でしたが、「1」に変わります。 そして、要素数は3→2に減少します。
プログラムを実行すると、ライトマトリクスに「A」→「C」と表示されます。
◆ 配列の並べ替え

「sort」関数を使うと、配列の中身を並べ替えることもできます。sort(ソート)は英語で並べ替えるという意味です。

プログラムを実行すると、図のような処理が行われます。
最初、配列には「B」「C」「A」の順にデータが格納されていますが、「A」「B」「C」の順に並べ替えられます。最終的にライトマトリックスには「A」→「B」→「C」と表示されます。

以上で配列の使い方の紹介を終わります。
参考までに配列をロボット作りに活かす例がこちらのプログラムです。 この例ではポートAに接続したモーターの回転角度を配列に格納しています。他にも配列の使い道を考えてみましょう。
今回作成したプログラム(SPIKEアプリ用)
当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。