【问题标题】:Python itertools product function in lualua中的Python itertools产品功能
【发布时间】:2020-05-05 11:07:49
【问题描述】:

我正在寻找一种方法来从 itetools 库中实现类似 python 的组合函数 product,在 lua 中使用 repeat 参数。

我找到了这个库 https://github.com/aperezdc/lua-itertools/blob/master/itertools.lua 但不确定这是否对我有用,因为我在那里找不到 product 函数

实现这种功能的算法是什么?

【问题讨论】:

    标签: lua combinatorics


    【解决方案1】:

    你可以使用这个功能:

    function ProductRepeat(tab, repeatCount)
        local result = { {} }
    
        for _ = 1, repeatCount do
            local newResult = { }
    
            for _, r in ipairs(result) do
                for _, v in ipairs(tab) do
                    table.insert(newResult, { v, unpack(r) })
                end
            end
    
            result = newResult
        end
    
        return result
    end
    

    【讨论】:

      猜你喜欢
      • 2016-11-29
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-30
      • 2015-10-28
      相关资源
      最近更新 更多