-Python vs Julia- 配列についてについての比較

Python言語とJulia言語の比較を行った際のメモです.
今回は,配列についての比較です.比較を行った環境はPythonはver 3.6.6,Juliaは ver 1.1.0です.比較はREPLで行い,プロンプトが" >>> "となっているものはPythonでの実施で," Julia> "となっているものはJuliaでの実施です.

まずは,1次元配列についてです.
定義の仕方は,PythonとJuliaで同じです.

>>> import numpy as np
>>> a = np.array([1, 2, 3, 4, 5])
>>> a
array([1, 2, 3, 4, 5])
 
julia> a = [1; 2; 3; 4; 5]
5-element Array{Int64,1}:
 1
 2
 3
 4
 5
JuliaでもPythonと同じように,", "を要素の区切りとして使用できますが,";"を区切りとすることも可能です.以下では,Pythonとの区別のために";"を使用します.
 
配列を表示するには,Python, Julia共に print() を使用します.
>>> print(a)
[1 2 3 4 5]
 
julia> print(a)
[1, 2, 3, 4, 5]
 
配列の型を確認するには,Pythonでは"type()"を,Juliaでは"typeof()"を使用します.表示は若干異なります.
>>> type(a)
<class 'numpy.ndarray'>
 
julia> typeof(a)
Array{Int64,1}
 
形状の確認を行うには,Pythonでは "Array Name.shape",Juliaでは"Array Name::Any"を用います.
>>> a.shape
(5,)
 
julia> a::Any
5-element Array{Int64,1}:
 1
 2
 3
 4
 5
 
要素の指定は,Python,Julia共に"Array Name[Element Number]"を用います.要素の番号は,Pythonでは0から,Juliaでは1からと異なります.
>>> a[1] # elements start at 0. In Julia start at 1
2
 
julia> a[2] # elements start at 1. In Python start at 0
2
 
また,ある要素の値を変更する方法はPython,Julia共に"Array Name[Element Number] = "を用います.ここでも,要素の番号は,Pythonでは0から,Juliaでは1からと異なることに注意が必要です.
>>> a[0] = 10
>>> a
 
julia> a[1] = 10
10
 
上記の例で,配列内の要素が入れ替えられていることを確認してみると,以下のようになります.
>>> a
array([10,  2,  3,  4,  5])
 
julia> a
5-element Array{Int64,1}:
 10
  2
  3
  4
  5