如何使用Python运行表并打印特定键

我有一个表格:

employee = {
             name = "John", age = 30,
             name = "George", age = 35
           }

现在,我想运行整个表格,如果找到名称为“George”的记录,则输出对应的年龄。如何实现?从我搜索的结果来看,可以使用代码 for k, v in pairs(employee) do 运行列表,但我不知道如何从那里继续。

点赞
用户308010
用户308010

你需要重新构造表格如下。

employee = {
    {name = "John", age = 30},
    {name = "George", age = 35},
}

这将允许年龄始终与姓名匹配。然后您可以运行:

for _,v in ipairs(employee) do
    if v.name == "George" then
        return v.age
    end
end

你甚至可以创建一个函数来检查你想要的任何名字:

function find_age(n)
  for _,v in ipairs(employee) do
      if v.name == n then
          return v.age
      end
  end
end

当然,这将返回表格中每个“n”的年龄。

评论更新

您也可以使用函数执行此操作。

function add_employee(n,a)
  table.insert(employee, {name = n, age = a})
end
2015-09-26 23:03:49