Lua:比较字典值并返回匹配键&共同的价值

时间:2014-09-17 00:07:21

标签: dictionary lua compare

我创建了一个密钥字典:由名称和IP地址信息组成的值对,我需要查找具有重复IP的名称,并返回与IP地址信息(值)匹配的名称(密钥)份额。

字典“t”包括:

  

ADAM,192.168.1.1

     

鲍勃,192.168.1.2

     

克莱尔,192.168.1.2

     

DEB,192.168.1.3

     

埃德加,192.168.1.1

我需要找到重复项并返回结果:

  

adam和edgar都使用192.168.1.1

     

bob和claire都使用192.168.1.2

我不确定如何按名称迭代字典键。当我最初提出问题时,我提供了一个代码示例(不工作),我试图通过索引位置来完成它。我已经删除了,我愿意接受建议。感谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

t={
    ["adam"]= "192.168.1.1",
    ["bob"]= "192.168.1.2",
    ["claire"]= "192.168.1.2",
    ["deb"]= "192.168.1.3",
    ["edgar"]= "192.168.1.1",
}

local d={}
for k,v in pairs(t) do
    if d[v]~=nil then
        io.write(k," and ",d[v]," are both using ",v,"\n")
    else
        d[v]=k
    end
end