我在这里遇到问题...如果我的表格中有很少的重复字符串结果。我想知道每个人的价值。 例如。一个函数返回一个未知的"字母"并且数量未知数量
Function () return Table end
Table ={'a','a','c','b','b','a',...}
我想得到这个。
table.a={'a','a','a'}
table.b={'b','b'}
table.c={'c'}
....
....
我不知道如何解决它......
答案 0 :(得分:2)
编写一个函数,它创建这些东西的哈希映射:
function RepetitionCounter(tInput)
local tCounter = {}
for i, v in ipairs(tInput) do
tCounter[v] = (tCounter[v] or 0) + 1
end
return tCounter
end
您将使用如下:
local tData = {'a','a','c','b','b','a',...}
local tCounts = RepetitionCounter(tData)
表tCounts
如下:
tCounts.a = 3
tCounts.b = 2
tCounts.c = 1
稍微修改上面的功能,即可获得所需的输出。替换以下行:
tCounter[v] = (tCounter[v] or 0) + 1
与
if not tCounter[v] then
tCounter[v] = {}
else
table.insert(tCounter[v], v)
end