ari23の研究ノート

メーカ勤務エンジニアの技術ブログです

Julia超入門|リスト

今回はJulia言語のリストを扱います🐜

開発環境

開発環境は以下の通りです。

項目 内容
OS Windows 10 Home 64bit
Julia 1.6.3
Cmder 1.3.14

※Cmderは必須ではありません

解説

リストの書き方について、スクリプトを見ながら簡単に解説します。 以下をlist.jlファイルとしてコピペして、動かしながら確認してください。

<スクリプト例>

function main()
    # リスト
    lis = [1, 2, 3]

    # 確認
    println(lis)
    println(typeof(lis))

    # 要素更新
    lis[1] = 4
    println(lis)
end

if abspath(PROGRAM_FILE) == @__FILE__
    main()
end


<出力結果>

C:\ari23\dev\julia
λ julia list.jl
[1, 2, 3]
Vector{Int64}
[4, 2, 3]

リスト

リストとは、タプルと同様に複数のオブジェクトをまとめて扱うことのできる機能または型を指します。使い方は簡単で、上記のように[],を使って、表現します。

前回の記事では説明を省きましたが、実はタプルの要素は一度定義したら変更することができません。しかし、リストは定義した後でも変更可能です。これが、タプルとリストの最大の違いです。上記スクリプト例で、その仕様が確認できますね。

専用関数

リストの専用関数の一部を以下に紹介します。ぜひ、自分の手で動かして動作を確認してください。

関数 内容
push!(list, elem) 引数listの末尾に要素elemを追加する
pop!(list) 引数listの末尾の要素を返す listは末尾の要素を失う
insert!(list, i, elem) 引数listi番目に要素elemを追加する
deleteat!(list, i) 引数listi番目の要素を削除

問題|要素の最大値

lis = [0, -2, 3, 0, 1]の要素の最大値を求めるプログラムを作ってみましょう。

回答はこちら

おわりに

Juliaのリストを簡単にまとめました。

タプルと同様、リストはPythonなど他の言語でもある機能なので、特に難しくないと思います。

以上、参考になれば幸いです(^^)

参考文献

参考文献は以下の通りです。

  • Julia Documentation
    Julia公式のドキュメントです。英語ですが、とても丁寧に書かれていて、疑問はだいたい解消されるのではと思います。読み応えも十分。

  • 1から始めるJuliaプログラミング
    公式ドキュメントの分量があまりに多くて、もう少しまとまったものが欲しいと思って購入しました。基本から応用まで幅広くカバーされつつ、量も丁度良いです。