Lua,表:合并重复键的值并删除重复项

Lua,表:合并重复键的值并删除重复项,lua,lua-table,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

我最近开始和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

你让它看起来很容易。它似乎做了我希望它做的事情——现在我将尝试将其分解以获得更好的理解。非常感谢!快速问题:(我已经搜索过)如何从这个表中打印嵌套值。例如,
print(t.a[1])
不起作用。@Easypeasy,这正是
对z成对(v)进行print(k,z)end的作用。