Julia早引きノート［14］リスト(Array型一次元配列)

###リスト(Array型一次元配列)(書き方例)

```ruby:note14
# リストの生成1(要素無し)
list1 = []
# リストの生成2(要素あり)
list2 = [10, 25, 50, 75, 100]


◆関数(メソッド)の例

　# 先頭に要素を追加
　pushfirst!(list2, 1)

　# 先頭の要素を取り出す
　popfirst!(list2)

　# 末尾に要素を追加
　push!(list2, 125)

　# 末尾の要素を取り出す
　pop!(list2)

　# i番目に要素を挿入する(3番目に30を挿入)
　insert!(list2, 3, 30)

　# i番目の要素を削除(4番目の要素を削除)
　deleteat!(list2, 4)

　# インデックス番号で要素を取り出す(5番目の要素を取り出す)
　list2[5]

　# リストの長さ
　length(list2)

　# 空かどうかの判定
　isempty(list2)

　# Matrixからの変換
　# 多次元配列(Matrix型)を一次元のベクトル(Vector型)に変換
　vec(list2)

```

##解説
・Juliaには多次元を扱える多次元配列がありますが、Juliaでは多次元配列のうち、1次元配列をリストとして扱います。**※**本記事では便宜的にこれを**リスト**と呼びます。
・Pythonのリストと同じように使用することができます。
・各関数名に**!マーク**(ビックリマーク)がついていますが、これの意味は、その関数の引数に設定されている変数おいて、増減や削除が発生することを許容する、という意味です。

####動作例
(1)先頭に要素を追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/c5672fde-e92c-677b-494a-c94e450dd337.png)
(2)先頭の要素を取り出す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/939fc560-9147-21bf-c5f4-b80d89664375.png)
**※popまたはpopfirstで要素を取り出した後のリストは、その要素は無くなります。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/872fc1ee-1836-8704-ad8c-88e4a168c393.png)
(3)末尾に要素を追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/b8c39820-9f47-3666-f785-beb4a916e1a2.png)
(4)末尾の要素を取り出す
![001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/7fec4bda-82f4-d95c-2d64-f1baf1a80ef4.jpeg)
(5)i番目に要素を挿入する(3番目に30を挿入する)
**※インデックス番号は1からかぞえます。**
![001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/34c8d775-b5bd-9d6f-35bc-d74254294154.jpeg)
(6)i番目の要素を削除(4番目の要素を削除)
![001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/83d6cb53-6db2-9d3d-6f2b-f9dfd711f6d4.jpeg)
(7)インデックス番号で要素を取り出す(5番目の要素を取り出す)
![001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/2042b978-1941-32f4-0679-714591c9b0f4.jpeg)
(8)リストの長さ
![001.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/263659c3-9fe7-073b-51d5-7d0c96ac27c5.jpeg)
(9)空かどうかの判定
　true/falseを返します。

(10)Matrixからの変換
多次元配列(Matrix型)を一次元のベクトル(Vector型)に変換します。
下例では、list2を一次元のMatrix型配列、list3を2x3次元のMatrix型配列とします。
・vec()関数で一次元ベクトル(Vector型)に変換しています。
　list3では、一次元に変換する際、column-major order型で順序付けされることが分かります。
・typeof()関数で、一次元ベクトルの型を確認しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/256ac362-84f0-88cc-d2d5-059830d108db.png)

##もくじ
[Julia早引きノート［01］変数・定数の使い方](https://qiita.com/ttabata/items/a1ada2c0cba03672e105)
[Julia早引きノート［02］算術式、演算子](https://qiita.com/ttabata/items/90900d0914fa317f652d)
[Julia早引きノート［03］複素数]
(https://qiita.com/ttabata/items/225c77a4d71fafc3e482)
[Julia早引きノート［04］正規表現](https://qiita.com/ttabata/items/8b6e4a2b7c2ca299de03)
....
<details><summary>もくじを開く</summary><div>
[Julia早引きノート［05］if文]
(https://qiita.com/ttabata/items/4f0bcff1e32f60402dfb)
[Julia早引きノート［06］ループ処理]
(https://qiita.com/ttabata/items/2a53825101b0b75fb589)
[Julia早引きノート［07］try, catch, finally]
(https://qiita.com/ttabata/items/1d6fe990526c99b65b5f)
[Julia早引きノート［08］変数の型(Int, Float, Bool, Char, String)]
(https://qiita.com/ttabata/items/2b84a826e39bfe432b62)
[Julia早引きノート［09］関数 (1)基本編]
(https://qiita.com/ttabata/items/d9b4f2728ec0dbcc6394)
[Julia早引きノート［10］関数 (2)応用編]
(https://qiita.com/ttabata/items/462e216c43d519f1969d)
[Julia早引きノート［11］Nothing型]
(https://qiita.com/ttabata/items/0e5a6b21968d8752cf0b)
[Julia早引きノート［12］複合型(Composite Type)型]
(https://qiita.com/ttabata/items/27469216a3c33101c825)
[Julia早引きノート［13］タプル]
(https://qiita.com/ttabata/items/ebe35dbfec4efbc1c29a)
[Julia早引きノート［14］リスト(Array型一次元配列)]
(https://qiita.com/ttabata/items/7528863ccbb282e8260d)
[Julia早引きノート［15］辞書(dictionary)]
(https://qiita.com/ttabata/items/77a4f1d02b51d067bfb7)
[Julia早引きノート［16］集合]
(https://qiita.com/ttabata/items/ca8137922a785122037e)
[Julia早引きノート［17］多次元配列 (1)初期化]
(https://qiita.com/ttabata/items/01fecbd14363460a27a6)
[Julia早引きノート［18］多次元配列 (2)様々な演算や関数]
(https://qiita.com/ttabata/items/f35896a5fa005fba7fbc)
[Julia早引きノート［19］多次元配列 (3)サブ配列]
(https://qiita.com/ttabata/items/045c00406fe45270b42e)
[Julia早引きノート［20］ファイル入出力]
(https://qiita.com/ttabata/items/5a99c3998060d161ace8)
[Julia早引きノート［21］JSON、XMLファイルの入出力]
(https://qiita.com/ttabata/items/65ebec11830271f9be71)
[Julia早引きノート［22］Python関数やPythonモジュールの呼び出し]
(https://qiita.com/ttabata/items/3afc8cef40d1e98a7b17)
[Julia早引きノート［23］JuliaでのMatplotlibによるグラフ描画]
(https://qiita.com/ttabata/items/96a0e172addfac690cca)
[Julia早引きノート［24］CSVFiles(DataFrameとの連携)]
(https://qiita.com/ttabata/items/51446731a703b5aca524)
[Julia早引きノート［25］線形代数演算(ベクトル・行列計算)]
(https://qiita.com/ttabata/items/5abe14d5c510e8ca0f54)
(※引き続きコンテンツを増やしていきます)
</div></details>


##関連情報

:paperclip: Julia - 公式ページ
https://julialang.org/

:paperclip: Julia - 日本語公式ドキュメント
https://julia-doc-ja.readthedocs.io/ja/latest/index.html

:paperclip: 初めてのJuliaとインストール (Windows & Linux)
https://qiita.com/ttlabo/items/b05bb43d06239f968035

:paperclip: Julia - Mathematics
https://docs.julialang.org/en/v1/base/math/


##ご意見など

ご意見、間違い訂正などございましたらお寄せ下さい。