作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有一个生成器/迭代器函数可以转
a = [1,2]
b = [3,4]
[(1,3),(2,4)]
和
a = 1
b = [3,4]
[(1,3),(1,4)]
使用相同的表达?
[(a=1,b=3),(a=1,b=4)]
?
最佳答案
您可以使用 Julia 的点语法进行广播:
julia> tuple.(a, b)
2-element Array{Tuple{Int64,Int64},1}:
(1, 3)
(2, 4)
tuple
这是一个仅从其参数创建元组的函数。
NamedTuple
你可以直接在元组上调用低级构造函数
julia> NamedTuple{(:a, :b)}.(tuple.(a, b))
2-element Array{NamedTuple{(:a, :b),Tuple{Int64,Int64}},1}:
(a = 1, b = 3)
(a = 2, b = 4)
:a
和
:b
是排序的键名,或者等效地,使用匿名函数:
julia> broadcast((a_i, b_i) -> (a=a_i, b=b_i), a, b)
2-element Array{NamedTuple{(:a, :b),Tuple{Int64,Int64}},1}:
(a = 1, b = 3)
(a = 2, b = 4)
关于julia - 如何在 Julia 中将向量(列表)广播到元组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61091049/
我是一名优秀的程序员,十分优秀!