gpt4 book ai didi

lua - 如何从列表中删除重复的字符串值

转载 作者:行者123 更新时间:2023-12-04 19:49:24 27 4
gpt4 key购买 nike

这是之前 question 的延续.

我在 Lua 中有一个固定列表,我正在为它重新分配值

local a = {"apple", "pear", "orange", "kiwi", "tomato"}
local map = {
apple = "RD",
pear = "GR",
orange = "OG",
kiwi = "GR",
tomato = "RD",
banana = "YL",
}
colours = {}
for index = 1, #a do
table.insert(colours,map[a[index]or "OT")
end

现在我想编辑现有脚本或添加一些新脚本,以删除任何重复的值。

我的最终结果应该是一个没有重复值或空字符串的表格(颜色),但我似乎想不出一个巧妙的方法来做到这一点!

如果不可能(或者真的很乱),我的第二个选择是计算表中唯一值的数量。

最佳答案

如果您不想在每次添加元素时遍历整个表格,您可以简单地创建第二个表格,在其中记住已列出的颜色。只需使用颜色作为键。

local a = {"apple", "pear", "orange", "kiwi", "tomato"}
local map = {
apple = "RD",
pear = "GR",
orange = "OG",
kiwi = "GR",
tomato = "RD",
banana = "YL",
}

local listedColours = {}
local colours = {}
for _,colour in pairs(a) do
colour = map[colour] or "OT"
if not listedColours[colour] then
table.insert(colours, colour)
listedColors[colour] = true
end
end

关于lua - 如何从列表中删除重复的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57395807/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com