Lua的table类型的增删改查操作

增:

方法一:直接赋值

Lua 复制代码
local t = {}  -- 创建一个空表

-- 添加键值对
t["name"] = "Lua"  -- 添加字符串键
t[1] = "Hello"     -- 添加数字键

print(t["name"])  -- 输出: Lua
print(t[1])       -- 输出: Hello

方法二:使用**table.insert**

Lua 复制代码
local t = {"a", "b", "c"}

-- 在末尾插入
table.insert(t, "d")  -- t 变为 {"a", "b", "c", "d"}

-- 在指定位置插入
table.insert(t, 2, "x")  -- t 变为 {"a", "x", "b", "c", "d"}

print(table.concat(t, ", "))  -- 输出: a, x, b, c, d

方法三:使用 # 运算符

Lua 复制代码
local t = {"a", "b", "c"}

t[#t + 1] = "d"  -- 在末尾插入 "d" 注意这里的#t仅仅是统计整数下标的元素个数
print(table.concat(t, ", "))  -- 输出: a, b, c, d

删:

方法一:直接设置为nil

Lua 复制代码
local t = {a = 1, b = 2, c = 3}

-- 删除键为 "b" 的元素
t["b"] = nil

print(t["b"])  -- 输出: nil

方法二:使用remove函数

Lua 复制代码
local t = {"a", "b", "c", "d"}

-- 删除最后一个元素
table.remove(t)  -- t 变为 {"a", "b", "c"}

-- 删除指定位置的元素
table.remove(t, 2)  -- t 变为 {"a", "c"}

print(table.concat(t, ", "))  -- 输出: a, c

改:

方法一:修改键值对

Lua 复制代码
local t = {a = 1, b = 2, c = 3}

-- 修改键为 "a" 的值
t["a"] = 100

-- 修改键为 "b" 的值
t.b = 200

print(t["a"])  -- 输出: 100
print(t.b)     -- 输出: 200

方法二:嵌套表修改

Lua 复制代码
local t = {
    a = {1, 2, 3},
    b = {x = 10, y = 20}
}

-- 修改嵌套表中的值
t["a"][2] = 100  -- 修改 t.a 的第二个元素
t.b.y = 200      -- 修改 t.b 的键为 "y" 的值

print(t.a[2])    -- 输出: 100
print(t.b.y)     -- 输出: 200
相关推荐
潜创微科技7 小时前
IT6520:USB‑C 转 MIPI 芯片方案 4K@120Hz 高清显示
c语言·开发语言
言之。8 小时前
【Python】免费的中文 AI 配音方案
开发语言·人工智能·python
天天进步20158 小时前
Python全栈项目:从零手操一个高性能 API 网关
开发语言·python
Java面试题总结8 小时前
java高频面试题(2026最新)
java·开发语言·jvm·数据库·spring·缓存
苦逼的猿宝8 小时前
学生心理咨询评估系统
java·毕业设计·springboot·计算机毕业设计
隔窗听雨眠8 小时前
doctype、charset、meta如何控制整个渲染流水线
java·服务器·前端
安生生申9 小时前
使用pygame实现2048
开发语言·python·pygame
hh.h.10 小时前
CANN算子开发入门:从零开始写第一个Ascend C算子
c语言·开发语言·cann·c算子
西安邮电大学10 小时前
SpringBean完整生命周期
java·spring
刀法如飞10 小时前
DDD 与 Ontology 对比分析:哪一种更适合AI时代复杂系统构建?
java·架构·领域驱动设计