Nim-lang:用两个变量来理解列表
Nim-lang: list comprehension with two variables
对如何使用两个变量执行列表理解感到困惑。
这是我目前正在尝试做的事情:
let profile_row = lc[profile[r][c] | ( r <- 0..<4, c <- 0..<k ), int]
这是错误:
greedy_motif_ba2d.nim(22, 40) Error: type mismatch: got <seq[int], float>
这是如何正确完成的?
事实证明,我的做法确实有效,只需要更改类型即可。
let profile_row = lc[profile[r][c] | ( r <- 0..<4, c <- 0..<k ), float]
由于 Nim 1.2 lc 已被删除,因此对于今天搜索的任何人来说,以下是执行此操作的方法:
let profile_row = collect(newSeq):
for r in 0..<4:
for c in 0..<4:
profile[r][c]
注意 collect
无需指定 profile[r][c]
的类型,但需要您为容器提供初始化过程 profile_row
对如何使用两个变量执行列表理解感到困惑。
这是我目前正在尝试做的事情:
let profile_row = lc[profile[r][c] | ( r <- 0..<4, c <- 0..<k ), int]
这是错误:
greedy_motif_ba2d.nim(22, 40) Error: type mismatch: got <seq[int], float>
这是如何正确完成的?
事实证明,我的做法确实有效,只需要更改类型即可。
let profile_row = lc[profile[r][c] | ( r <- 0..<4, c <- 0..<k ), float]
由于 Nim 1.2 lc 已被删除,因此对于今天搜索的任何人来说,以下是执行此操作的方法:
let profile_row = collect(newSeq):
for r in 0..<4:
for c in 0..<4:
profile[r][c]
注意 collect
无需指定 profile[r][c]
的类型,但需要您为容器提供初始化过程 profile_row