gpt4 book ai didi

Julia 相当于 R 的 Paste() 函数

转载 作者:行者123 更新时间:2023-12-02 00:40:40 25 4
gpt4 key购买 nike

Julia 中是否有一个函数的行为类似于 R 的 paste() 函数?特别是,如果我们给函数两个向量,它将返回一个向量,其中包含两个输入向量的按元素串联。

我环顾四周,似乎无法在文档或其他地方找到这个问题的答案。 An older post John Myles White 提出,Julia 的 join() 函数是最接近的类似函数,但它似乎仅适用于字符串对,而不适用于字符串向量的元素级。

目前,我只是使用下面的函数来循环调用 join() 的元素,但我想知道是否有更好的方法。

x = ["aa", "bb", "cc"]
y = ["dd", "ee", "ff"]

function mypaste(v1, v2)
n = length(v1)
res = Array{ASCIIString}(n)
for i = 1:n
res[i] = join([v1[i], v2[i]])
end
return res
end

mypaste(x, y)

运行 mypaste() 会根据需要提供以下输出。

3-element Array{ASCIIString,1}:
"aadd"
"bbee"
"ccff"

有什么好的选择吗?我是否误解了 join() 函数?

最佳答案

我认为我根本不会使用join。 Join 用于组合一个集合中的字符串;您正在连接两个不同集合中的字符串。因此,虽然使用 zip 创建 join 所需的临时集合很容易(且高效),但您可以通过使用 string 函数来避免它或乘法:

julia> map(string, x, y)
3-element Array{ASCIIString,1}:
"aadd"
"bbee"
"ccff"

julia> map(*, x, y)
3-element Array{ASCIIString,1}:
"aadd"
"bbee"
"ccff"

更好(但可能聪明了一半),有广播元素乘法运算符 .*:

julia> x .* y
3-element Array{ASCIIString,1}:
"aadd"
"bbee"
"ccff"

关于Julia 相当于 R 的 Paste() 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36319045/

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