Dear all,

I would like to ask whether there is some way, how to transform a vector of Int64s to CarthesianIndex object.

Naive approach:

r = collect(1:5)

CartesianIndex( r )

failed me, and I don’t know how to proceed further. Any advice/suggestion would be welcome!

Best,

Honza

I’m assuming you want the cartesian index to look like `CartesianIndex(1,2,3,4,5)`

. You can construct that with a tuple rather than a vector:

```
julia> CartesianIndex(Tuple(1:5))
CartesianIndex(1, 2, 3, 4, 5)
```

3 Likes

Thank you, I found a workaround based on your suggestion.

Firstly transform Array into Tuple, and then to CartesianIndex.

rr = [1 5 6 7]

aa = Tuple(Int64(x) for x in rr)

tt = CartesianIndex(aa)

You can also use

```
r = collect(1:5)
CartesianIndex(r...)
```

Of course you don’t need the `collect`

either, but I presume you’re converting more general arrays than what can be expressed by a `UnitRange`

.

4 Likes