Julia 从展平数组获取二维索引
给定阵列:Julia 从展平数组获取二维索引,julia,Julia,给定阵列: arr=[12;34;56] 3×2 Array{Int64,2}: 1 2 3 4 5 6 它被展平flat\u arr=collect(迭代器.展平(arr)) 我有时需要在两种索引格式之间切换。例如,如果我得到了flat_arr的排序索引,我可能希望使用这些排序索引迭代arr。在Python中,这通常是通过。朱莉娅是怎么做到的?我是否只需要编写自己的函数?vec()创建阵列的一维视图。因此,您可以将两个指针都指向内存中的数组,并在任何时间使用所需的任何一个指针(它
arr=[12;34;56]
3×2 Array{Int64,2}:
1 2
3 4
5 6
它被展平flat\u arr=collect(迭代器.展平(arr))
我有时需要在两种索引格式之间切换。例如,如果我得到了flat_arr
的排序索引,我可能希望使用这些排序索引迭代arr
。在Python中,这通常是通过。朱莉娅是怎么做到的?我是否只需要编写自己的函数?vec()
创建阵列的一维视图。因此,您可以将两个指针都指向内存中的数组,并在任何时间使用所需的任何一个指针(它们指向同一数组):
请注意,在Julia中,数组按列主顺序存储,因此第四个值是第二列中的第一个值。vec()
创建数组的一维视图。因此,您可以将两个指针都指向内存中的数组,并在任何时间使用所需的任何一个指针(它们指向同一数组):
请注意,在Julia中,数组是按列大顺序存储的,因此第四个值是第二列中的第一个值这可以使用
cartesianindice
实现
c_i = CartesianIndices(arr)
flat_arr[2] == arr[c_i[2]]) == 3
这可以使用
CartesianIndices
实现
c_i = CartesianIndices(arr)
flat_arr[2] == arr[c_i[2]]) == 3
请注意,
展平
并非真正用于将数组转换为向量。“展平”是指将向量的向量转换为“普通”(非嵌套)向量。请注意,flatte
并非真正用于将数组转换为向量。“展平”是指将向量的向量转换为“普通”(非嵌套)向量。
c_i = CartesianIndices(arr)
flat_arr[2] == arr[c_i[2]]) == 3