Lua:删除重复元素 [英] Lua : remove duplicate elements
本文介绍了Lua:删除重复元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 lua 中有一张桌子
<前>测试 = {1,2,4,2,3,4,2,3,4,"A", "B", "A"}我想删除表格中的所有重复元素.
输出应该是
我的尝试:
<前>> 项目 = {1,2,4,2,3,4,2,3,4,"A", "B", "A"}> 标志 = {}> 对于 i=1,table.getn(items) 做如果不是 flags[items[i]] 那么io.write(' ' .. items[i])标志[items[i]] = true结尾>> 结束1 2 4 3 A B>它现在工作正常.感谢您的回答和评论.
解决方案
与@Dimitry 给出的示例类似,但只有一个循环
local test = {1,2,4,2,3,4,2,3,4,"A", "B", "A"}本地哈希 = {}本地资源 = {}对于 ipairs(test) 中的 _,v 做如果(不是哈希[v])那么res[#res+1] = v -- 如果需要,您可以在此处打印而不是保存到结果表哈希 [v] = 真结尾结尾
i am having a table in lua
test = {1,2,4,2,3,4,2,3,4,"A", "B", "A"}
I want to remove all duplicate elements in table.
Output should be
test = {1,2,4,3,"A","B"}
EDIT:
My try :
> items = {1,2,4,2,3,4,2,3,4,"A", "B", "A"} > flags = {} > for i=1,table.getn(items) do if not flags[items[i]] then io.write(' ' .. items[i]) flags[items[i]] = true end >> end 1 2 4 3 A B>
It is working fine now. Thanks for answers and comments.
解决方案
Similar to example given by @Dimitry but only one loop
local test = {1,2,4,2,3,4,2,3,4,"A", "B", "A"}
local hash = {}
local res = {}
for _,v in ipairs(test) do
if (not hash[v]) then
res[#res+1] = v -- you could print here instead of saving to result table if you wanted
hash[v] = true
end
end
这篇关于Lua:删除重复元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文