Lua,表 : merge values of duplicate keys and remove duplicates

标签 lua lua-table

我最近开始摆弄 lua,但我一生都无法弄清楚这一点。

假设我有一个如下所示的字符串:

s = "a=x a=y b=z a=x"

我想删除所有重复项并将重复键的值合并到表中,以便我得到:

t = {
a = {x,y},
b = {z},
}

我已经思考这个问题太久了。如有任何帮助,我们将不胜感激!

最佳答案

试试这个:

s="a=x a=y b=z a=x"

s=s.." "
t={}
for k,v in s:gmatch("(.-)=(.-)%s+") do
        if t[k]==nil then t[k]={} end
        t[k][v]=true
end

for k,v in pairs(t) do
        for z in pairs(v) do print(k,z) end
end

关于Lua,表 : merge values of duplicate keys and remove duplicates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16278657/

相关文章:

lua - 尝试加载库;出现 "bad image"错误

function - Lua:本地函数的作用域

ruby-on-rails - Redis 按模式删除太慢

lua - Lua 中与 debug.getlocal 的混淆

lua - 在 Torch 中,如何为我的随机下降添加动力?

python - 将 Lua 中的替换密码移植到 Python

function - Lua - 检查用户输入的表是否存在并从中读取

c++ - 在 C api 中移动一个 lua 表

lua - 《Programming in Lua》第 108 页对 Lua 元表感到困惑

Lua添加两张表