gpt4 book ai didi

julia - 使用双索引在矩阵上赋值

转载 作者:行者123 更新时间:2023-12-04 02:30:35 24 4
gpt4 key购买 nike

我不知道如何获得这种行为:
从这个矩阵:

julia> a = [1 1 1; 1 1 1; 1 1 2]
3×3 Array{Int64,2}:
1 1 1
1 1 1
1 1 2
我想把所有的 1s 改为 5s,但只在最后一行。
我所做的是 a[3, :][a[3, :] .== 1] .= 5但是 a 的值没有改变。
我注意到:
foo[foo .== 1] .= 5
a[3, :] = foo
它有效,但我正在尝试减少分配,应该删除它。
提前致谢

最佳答案

您可以使用 @viewreplace! :

julia> a = [1 1 1
1 1 1
1 1 2]
3×3 Array{Int64,2}:
1 1 1
1 1 1
1 1 2

julia> replace!(@view(a[end, :]), 1 => 5)
3-element view(::Array{Int64,2}, 3, :) with eltype Int64:
5
5
2

julia> a
3×3 Array{Int64,2}:
1 1 1
1 1 1
5 5 2

关于julia - 使用双索引在矩阵上赋值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64407063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com