我知道在 Julia 中必须有一个聪明的方法来做到这一点,但我很难过。我有一个一维元组数组,我想从数组的每一行中提取第三个元素。这是我正在使用的示例:
julia> experArr 20-element Array{(Any,Any,Any),1}:
(4000,0.97613,1.6e6)
(2000,0.97613,800000.0)
(8000,0.97613,3.2e6)
(1000,0.97613,400000.0)
...
我的第一个想法是做这样的事情:
julia> experArr[:][3]
但返回以下内容:
julia> experArr[:][3]
(8000,0.97613,3.2e6)
我希望它返回的是:
20-element Array{Any,1}:
1.6e6
800000.0
3.2e6
400000.0
...
我尝试了其他几种索引排列,但我一直只返回一个元素。我觉得有一种正确的方法可以做到这一点,我只是想念
最佳答案
experArray[:]
只是原始数组的副本,因此实际上是无操作的。最简单的方法是理解:
[ x[3] for x in experArr ]
您也可以使用 map
:
map(x->x[3], experArr)
目前,理解版本可能会更快并且具有更好的类型行为。
关于arrays - Julia 从元组中为数组中的每一行选择元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22342297/