我有一张桌子,我正在传递名字:
names = {'Sachin', 'Ponting', 'Dhoni'}
在其他表格中我传递的是国家名称:
country = {"India", "Australia", "India"}
我想输出表格如下:
out_table = {Sachin="India", Ponting="Australia", Dhoni="India"}
答案 0 :(得分:2)
您可以创建一个从两个序列中获取值的新迭代器:
function both_values(t1, t2)
local i = 0
return function() i = i + 1; return t1[i], t2[i] end
end
然后使用像这样的迭代器:
local out_table = {}
for v1, v2 in both_values(names, country) do
out_table[v1] = v2
end
答案 1 :(得分:2)
这是一次直接的尝试:
names = {'Sachin', 'Ponting', 'Dhoni'}
countries = {"India", "Australia", "India"}
function table_map(names, countries)
local out = {}
for i, each in ipairs(names) do
out[each] = countries[i]
end
return out
end
out_table = table_map(names, countries)