Юлия 0,5 теперь поддерживает индексацию массивов CartesianIndex
эс. CartesianIndex
представляет собой особый тип индекса, который охватывает несколько аспектов:
julia> genconv = reshape([6,9,7,1,4,2,3,2,0,9,10,8,7,8,5], 5, 3)
5×3 Array{Int64,2}:
6 2 10
9 3 8
7 2 7
1 0 8
4 9 5
julia> genconv[CartesianIndex(2,3)] # == genconv[2,3]
8
Что интересно, что вы можете использовать векторы CartesianIndex
эс указать этот NumPy стиль точечно индексацию:
julia> genconv[[CartesianIndex(1,2),CartesianIndex(2,3),CartesianIndex(3,1)]]
3-element Array{Int64,1}:
2
8
7
Это довольно многословным и ужасно выглядящий, но это можно комбинировать с новым специальным синтаксисом для вещаниядля очень хорошего решения:
julia> genconv[CartesianIndex.([1,2,3],[2,3,1])]
3-element Array{Int64,1}:
2
8
7
do not нравится? '[genconv [[1,2,3], [2,3,1]] ...]' –
Нет, потому что я ожидаю вектор с тремя элементами. –