LUA 删除元素的问题

table在删除元素时要注意,例
t = { "hello", "world", "!"}
t[1] = nil
此时print(#t) --输出3,就是说把表的元素置为nil并没有移除该表项。

但,若是:

t = {
[1] = nil,
[2] = 223,
[3] = nil
}function count(t)local c = 0for k, v in pairs(t) doc = c + 1endreturn c
endprint(count(t))--1

再看更诡异的

 1 t = {
 2 [1] = 12,
 3 [2] = nil,
 4 [3] = 4
 5 }
 6
 7 function count(t)
 8     local c = 0
 9     for k, v in pairs(t) do
10         c = c + 1
11     end
12     return c
13 end
14
15 print("------------------", #t)
16 t2 = { "hello", "world", "!"}
17 t2[1] = nil
18 t2[22] = nil
19 t2[9] = nil
20 print("--------t2---------", #t2)
21 for k, v in pairs(t2) do
22     print(k, v)
23 end
24
25 print("--------------->")
26 for i=1, #t2 do
27     print(i, t2[i])
28 end

posted on 2017-02-16 09:51 时空观察者9号 阅读(...) 评论(...) 编辑 收藏

LUA 删除元素的问题相关推荐

  1. Redis 笔记(04)— list类型(作为消息队列使用、在列表头部添加元素、尾部删除元素、查看列表长度、遍历指定列表区间元素、获取指定区间列表元素、阻塞式获取列表元素)

    Redis 的列表是链表而不是数组.这意味着 list 的插入和删除操作非常快,时间复杂度为 O(1),但是索引定位很慢,时间复杂度为 O(n). 当列表弹出了最后一个元素之后,该数据结构自动被删除, ...

  2. python list 删除元素

    python笔记:删除列表元素和根据索引查找元素 </h1><div class="clear"></div><div class=&qu ...

  3. C++ 笔记(23)— STL vector 类(实例化 vector、末尾插入、指定位置插入、数组方式访问元素、指针方式访问元素、删除元素、大小与容量区别)

    1. vector 特点 vector 是一个模板类,提供了动态数组的通用功能,具有如下特点: 在数组末尾添加元素所需的时间是固定的,即在末尾插入元素的所需时间不随数组大小而异,在末尾删除元素也如此: ...

  4. 如何在C ++中从容器中删除元素

    How to remove elements from container is a common C++ interview question, so you can earn some brown ...

  5. 【廖雪峰python入门笔记】list删除元素_pop()

    从list中删除元素 Paul同学刚来几天又要转走了,那么我们怎么把Paul 从现有的list中删除呢? 如果Paul同学排在最后一个,我们可以用list的pop()方法删除: L = ['Adam' ...

  6. python list 删除元素_Python的list循环遍历中,删除数据的正确方法

    初学Python,遇到过这样的问题,在遍历list的时候,删除符合条件的数据,可是总是报异常,代码如下: num_list = [1, 2, 3, 4, 5]print(num_list)for i ...

  7. 顺序表-顺序表的基本操作(插入元素+删除元素)

    顺序表的存储结构: typedef struct{int data[Maxsize]; //存在顺序表中的元素int length; //存放顺序表的长度}SqList; 一.插入元素 分析: 在顺序 ...

  8. 容器删除元素后迭代器失效_使用迭代器遍历容器元素

    迭代器为我们提供了统一的遍历容器的方式. 1.Iterator源码分析 public Iterator<E> iterator() {return new Itr(); }private ...

  9. jquery 移除border_jQuery - 删除元素

    通过 jQuery,可以很容易地删除已有的 HTML 元素. 删除元素/内容 remove() - 删除被选元素(及其子元素) empty() - 从被选元素中删除子元素 jQuery remove( ...

最新文章

  1. 裁员屠刀下一个目标会是谁?
  2. treeview递归
  3. buu [HDCTF2019]basic rsa
  4. 为什么说中国式报表特殊-5.4 填报
  5. 【软考-软件设计师】CPU的功能与组成
  6. 防火墙简介(二)——firewalld防火墙
  7. jQuery操作iframe中js函数的方法小结
  8. 高性能mysql_「高性能MySQL」十年阿里架构师推荐,这份高性能MySQL文档送给你
  9. 正则表达式 (入门)
  10. bpsk在瑞利信道matlab,请教BPSK在瑞利信道下的误码率仿真
  11. 最新谷歌算法面试真题:将字符串翻转到单调递增
  12. LDA NCA: 降维与度量学习
  13. strut处理页面请求过程
  14. 新加坡旅游 相关资料
  15. Android手机应用CTA认证自测
  16. Web 的全栈工程师必修课 - 关于 MVC 框架
  17. 05月11日三支有望飙涨股与操盘策略分析
  18. java使用ffmpeg将视频转码
  19. oracle11配置远程登录,oracle11g远程登录设置方法
  20. 4399U3D笔试题

热门文章

  1. Vue中使用html2canvas和jspdf插件实现导出pdf(自定义html样式可带图片)并下载
  2. Geoserver怎样切割离线瓦片地图
  3. 几百个Android开源个性化控件、工具库、项目、开发工具快快收藏
  4. Python中使用pip安装库时指定镜像源为豆瓣镜像源
  5. 【Python】list 之 extend 和 append 的区别
  6. Golang加密md5
  7. mac版lightroom cc_Photoshop问世30周年 Mac和iPad版获重要更新
  8. 台式计算机的配置清单(硬件和软件),台式电脑的配置清单和产品推荐
  9. 悬挑脚手架卸载钢丝绳要求_安全不可忽视!脚手架搭设彩色图集,动画展示施工全过程,抠细节...
  10. 七大行业巨头齐聚神策数据驱动大会,你想知道的都在这里了!