Lua,表:合并重复键的值并删除重复项
我最近开始和lua玩了很多,但我一辈子都搞不清楚这一点 假设我有一个如下所示的字符串: s=“a=x a=y b=z a=x” 我想删除所有重复项并将重复键的值合并到一个表中,以便获得: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
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的作用。