使用 Julia 版本 1.7.3,我的理解是以下将 matrix
初始化为一个 9 × 9 矩阵,每个元素都未定义......
matrix = Array{Char}( undef, 9, 9 )
println( matrix )
display( matrix )
println( )
println( typeof(matrix) )
println( size(matrix) )
另外,我知道表达式 [ c for c = '1' : '9' ]
计算结果为 9 个字符的列向量(类型 Vector{Char}
).
如何将上述内容组合起来创建一个 9 × 9 矩阵,其中每个矩阵的 81 个元素都是列向量 [ '1'; '2'; '3'; '4'; '5'; '6'; '7'; '8'; '9']
? (我的期望是,每个列向量元素都将在我计划编写的程序中进行修改。)到目前为止,我最好的猜测是……
matrix = Array{Vector{Char}}( [ c for c = '1' : '9' ], 9, 9 )
尝试这样做会导致......
ERROR: LoadError: MethodError: no method matching (Array{Vector{Char}})(::Vector{Char}, ::Int64, ::Int64)
最佳答案
julia> [[ c for c = '1':'9' ] for _ in 1:9, _ in 1:9]
9×9 Matrix{Vector{Char}}:
['1', '2', '3', '4', '5', '6', '7', '8', '9'] … ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] … ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
['1', '2', '3', '4', '5', '6', '7', '8', '9'] ['1', '2', '3', '4', '5', '6', '7', '8', '9']
请注意,数组
可以是多维的(超过 2 维),因此 3 维数组也是一种选择。只需要进行一些小的更改:[ c for c = '1' : '9', _ in 1:9, _ in 1:9]
关于arrays - 在 Julia 中,如何初始化一个二维数组(矩阵),其中每个元素都是一个列向量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72873692/