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

时间:2013-04-29 12:30:05

标签: lua lua-table

我最近开始和lua一起摆弄很多,但我不能为我的生活弄明白这一点。

假设我有一个看起来像这样的字符串:

s =“a = x a = y b = z a = x”

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

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

我一直在思考这个问题太久了。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:2)

试试这个:

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