2019年4月17日水曜日

[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

0 件のコメント :

コメントを投稿