gpt4 book ai didi

sorting - 如何在 Nim 中对序列进行排序?

转载 作者:行者123 更新时间:2023-12-04 17:44:05 24 4
gpt4 key购买 nike

我有一个由列表理解生成的序列,如下所示:

var a_bigram_list = lc[a[i..i+2] | (i <- 0..<len(a)), string]

现在,我想对其进行排序,但是 sort(a_bigram_list)将导致以下编译错误
Error: type mismatch: got (seq[string])
but expected one of:
proc sort[A, B](t: OrderedTableRef[A, B]; cmp: proc (x, y: (A, B)): int)
proc sort[A, B](t: var OrderedTable[A, B]; cmp: proc (x, y: (A, B)): int)
proc sort[A](t: CountTableRef[A])
proc sort[A](t: var CountTable[A])
proc sort[T](a: var openArray[T]; cmp: proc (x, y: T): int; order = SortOrder.Ascending)

有没有办法对序列进行排序?还是我需要将其转换为数组?如果是这样,有没有办法从 lc 获取数组?

最佳答案

sort适用于序列( openArray 是一个通用参数类型,它同时接受 arrayseq ),但它需要一个比较过程作为第二个参数。

您可以从系统模块为其提供默认 cmp:

sort(a_bigram_list, system.cmp)

关于sorting - 如何在 Nim 中对序列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42530173/

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