遍历表

简介: 遍历表

可以使用 pairs 迭代器遍历表中的键值对,如下所示:

t = {10, print, x = 12, k = "hi"}
for k, v in pairs(t) do print(k, v) end
--> 1       10
--> 2       function: 0x558d565900f0
--> k       hi
--> x       12


受限于表在 Lua 语言中的底层实现机制,遍历过程中元素的出现顺序可能是随机的,相同的程序在每次运行时也可能产生不同的顺序。唯一可以确定的是,在遍历的过程中每个元素会且只会出现一次。


对于列表而言,可以使用 ipairs 迭代器:

t = {10, print, "hi"}
for k, v in ipairs(t) do print(k, v) end
--> 1       10
--> 2       function: 0x561fee3690f0
--> 3       hi

此时, Lua 会确保遍历是按照顺序进行的。


另一种遍历序列的方法是使用数值型 for 循环:

t = {10, print, 12, "hi"}
for k = 1, #t do print(k, t[k]) end
--> 1       10
--> 2       function: 0x55886c7440f0
--> 3       12
--> 4       hi
目录
相关文章
|
1月前
|
存储 索引 Python
哈希表是怎么删除元素的,能直接删除吗?
哈希表是怎么删除元素的,能直接删除吗?
45 3
|
索引
查找某个元素在数组中对应的索引
查找某个元素在数组中对应的索引
91 0
查找某个元素在数组中对应的索引
|
存储 算法
数组算法:倒置,查找,插入,删除
数组算法:倒置,查找,插入,删除
83 0
|
机器学习/深度学习 存储 Cloud Native
817. 链表组件:哈希表+flag
这是 力扣上的 817. 链表组件,难度为 中等。
链表学习(链表的创建,插入,删除,查找,遍历)
链表学习(链表的创建,插入,删除,查找,遍历)
126 0
关于对象遍历的时候的一些排序问题
关于对象遍历的时候的一些排序问题
107 0
关于对象遍历的时候的一些排序问题
|
存储 Java
leetcode【哈希表—简单】349.两个数组的交集
leetcode【哈希表—简单】349.两个数组的交集
leetcode【哈希表—简单】349.两个数组的交集
|
算法
【数据结构】动态表查找—红黑树的介绍与查找插入
【数据结构】动态表查找—红黑树的介绍与查找插入
175 0
【数据结构】动态表查找—红黑树的介绍与查找插入
|
索引
按顺序遍历表
按顺序遍历表
130 0