lua中的Python itertools产品函数

lua中的Python itertools产品函数,lua,combinatorics,Lua,Combinatorics,我正在寻找一种方法,用lua实现itetools库中类似python的组合函数产品,并使用repeat参数 我找到了这个图书馆 但我不确定这是否对我有用,因为我在那里找不到产品功能 实现此功能的算法是什么?您可以使用此功能: function ProductRepeat(tab, repeatCount) local result = { {} } for _ = 1, repeatCount do local newResult = { }

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

我找到了这个图书馆 但我不确定这是否对我有用,因为我在那里找不到产品功能


实现此功能的算法是什么?

您可以使用此功能:

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