2016-12-13 16 views
0

Juliaプログラミング言語では、DictからTuplesの配列を取得する最良の方法は何ですか?私は最初の要素をキーにし、2番目の要素を値にします。 私は以下を持っていますが、これがJuliaの最良のアプローチであるかどうかはわかりません。DictをJuliaの配列{Tuple}に変換する

a = [(k,v) for (k,v) in d] 

dはDictです。私は

a = [t for t in d] 

をすればところで

、私はk=>vオブジェクトの配列を取得します。たとえば、私がtypeof(3=>'3')と答えた場合、Tuple{Int64,Char}が得られますが、(3,'3')と表示されません。 k=>v(k,v)の違いは何ですか?シンタックスシュガーですか?

+0

これは私にとっては良いアプローチのようです。 –

+0

私は@AlexanderMorleyに同意します。私はあなたの最初のアプローチを試み、それは正常に動作します。あなたが満足していない場合は、おそらくあなたが見たいと思っている出力を明らかにすることができます...? –

+0

私はJulia(Pythonから来ている)を使い慣れていないし、言語の微妙な部分にはまだ慣れていない。つまり、私は、一時的な配列を作成するのではなく、ジェネレータを使用する非エレガントな方法を好みます。Pythonで時折起こるような単純な方法(私は本当に大きなDictsで作業しています)です。 – eguaio

答えて

2

collect(d)を使用することもできます。Pairは、k=>vの配列になります。それはタプルであるかのように

これらは、インデックスを付けることができる。

julia> p = 3=>4 
3=>4 

julia> p[1] 
3 

julia> p[2] 
4 

julia> a, b = p 
3=>4 

julia> a 
3 

julia> b 
4 

ので、効果的に2つのエントリを持つタプルのように振る舞います。 ただし、Tupleが必要な場合は使用できません。

+0

これは、組み込み関数を使用しているため、エレガントで高速です。 – eguaio

関連する問題