代码之家  ›  专栏  ›  技术社区  ›  Peheje

类似Python的Nim枚举函数

  •  6
  • Peheje  · 技术社区  · 7 年前

    学习 Nim 我喜欢它和Python的相似之处(但速度很快)。在Python中,我可以做到这一点:

    item_index = [(idx, itm) for idx, itm in enumerate(row)]
    

    我在想办法 列举 一个Nim序列,所以我写下:

    item_index = lc[(idx, itm) | (idx, itm <- enumerate(row))]
    

    此功能是否存在?我相信你可以创建它,也许可以使用过程、模板或宏it,但我还是很新的,这些似乎很难自己创建。以下是我的尝试:

    iterator enumerate[T](s: seq[T]): (int, T) =
        var i = 0
        while i < len(s):
            yield (i, s[i])
            i += 1
    
    1 回复  |  直到 7 年前
        1
  •  10
  •   aMike    7 年前

    我是尼姆的新手,我不确定你想要什么,但是。。。 如果在 for 语句,您将获得索引和值:

    for x, y in [11,22,33]:
      echo x, " ", y
    

    给予:

    0 11
    1 22
    2 33
    

    HTH。

    推荐文章