如何在 Lua 列表中搜索项目?
当我们想要迭代一个项目以查找特定值时,我们通常使用 for 循环。它始终是最直观的方法,也是推荐的方法。
让我们探讨一个示例,其中我们在 Lua 中存储了一个水果列表,然后我们想要检查特定水果是否存在于其中。为此,最原生且高效的方法是迭代列表元素并将其中的每个元素与我们正在查找的元素进行比较。此技术或方法也称为线性搜索。
示例
考虑以下示例:
local fruits = { "apple", "orange", "pear", "banana" }
for _, fruit in pairs(fruits) do
if fruit == "pear" then
do print("We Found it!")
break
end
else print("Oh no, keep traversing!")
end
end输出
Oh no, keep traversing! Oh no, keep traversing! We Found it!
虽然上述方法运行良好,但建议使用集合而不是遍历列表。
示例
以下示例使用我们可以使用的**集合**方法,它运行良好。考虑以下示例:
function Set (list)
local set = {}
for _, l in ipairs(list) do set[l] = true end
return set
end
local fruits = Set { "apple", "orange", "pear", "banana" }
if fruits["pear"] then
do print("Present in the set") end
end输出
Present in the set
广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP