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

Dictionary Lua:比较字典值并返回匹配的键&;共享价值,dictionary,lua,compare,Dictionary,Lua,Compare,我已经创建了一个由名称和IP地址信息组成的键值对字典,我需要查找具有重复IP的名称,并返回与它们共享的IP地址信息(值)匹配的名称(键) 词典“t”将包括: 亚当,192.168.1.1 鲍勃,192.168.1.2 克莱尔,192.168.1.2 黛布,192.168.1.3 埃德加,192.168.1.1 我需要找到重复项,并返回以下结果: 亚当和埃德加都使用192.168.1.1 鲍勃和克莱尔都使用192.168.1.2 我不知道如何按名称遍历字典键。当我最初提出这个问题时,我提供了一个代

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

词典“t”将包括:

亚当,192.168.1.1

鲍勃,192.168.1.2

克莱尔,192.168.1.2

黛布,192.168.1.3

埃德加,192.168.1.1

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

亚当和埃德加都使用192.168.1.1

鲍勃和克莱尔都使用192.168.1.2

我不知道如何按名称遍历字典键。当我最初提出这个问题时,我提供了一个代码示例(不起作用),我试图通过索引位置来实现它。我已经删除了它,并愿意接受建议。谢谢。

试试这个:

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

我认为你建的桌子不是你需要的。尝试打印
t
的内容。删除了我的坏表插入代码。这分散了我对这个问题的注意力。谢谢大家!好极了!谢谢:)它第一次在控制台中不起作用,但是当我从“local d={}@fbonds66”中删除local时起作用了,你可以在控制台中尝试,而不是在控制台中尝试。