Lua:比较字典值并返回匹配的键和共享值

我已经创建了一个字典,其中包含名称和 IP 地址信息的键值对,我需要查找具有重复 IP 的名称,并返回与它们共享 IP 地址信息(值)匹配的名称(键)。

字典“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

我需要找到重复项并返回类似以下的结果:

adam 和 edgar 都在使用 192.168.1.1

bob 和 claire 都在使用 192.168.1.2

我不知道如何按名称迭代通过字典键。当我最初提出问题时,我提供了一个代码示例(不起作用),我当时试图按索引位置进行操作。我后来删除了那个代码并愿意听取建议。谢谢。

点赞
用户107090
用户107090

尝试一下:

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," 和 ",d[v]," 都在使用 ",v,"\n")
    else
        d[v]=k
    end
end
2014-09-17 00:16:26