在 python 中,我可以使用 + 和 * 运算符快速连接并创建包含重复元素的列表。例如:
my_list = [1] * 3 + ['a'] * 4 # == [1, 1, 1, 'a', 'a', 'a', 'a']
与 Julia 类似,我可以使用 * 和 ^ 运算符快速连接并创建包含重复元素的字符串。例如:
my_string = "1"^3 * "a"^4 # == "111aaaa"
我的问题是 Julia 中是否有一个方便的列表(数组)等价物。如果不是,那么定义具有重复元素和连接的数组的最简单方法是什么?
最佳答案
对于上述情况,填写一个较短的表格:
[fill(1,3); fill('a', 4)]
如果你愿意,你也可以定义一个 Python 风格的操作符:
⊕(a::AbstractVector{T}, n::Integer) where T = repeat(a, n)
⊕(a::T, n::Integer) where T = fill(a, n)
符号 ⊕
可以通过键入\oplus 并按 Tab 在 Julia 中输入。
现在你可以像在 Python 中那样做:
julia> [1,2] ⊕ 2
4-element Vector{Int64}:
1
2
1
2
julia> 3 ⊕ 2
2-element Vector{Int64}:
3
3
关于list - Julia 等价于 python 列表乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71473288/