首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel VBA解读(158): 数据结构—认识字典对象

创建字典对象 在标准VBA库中不包含Dictionary对象,因此要创建并使用Dictionary对象,先要连接到Dictionary对象所在的库文件Microsoft Scripting Runtime...添加字典元素 使用Add方法来添加字典元素: dict.Add键, 值 注意,字典中应不存在要添加的值的键。 修改字典元素值 dict(键) = 值 将指定键的元素值修改为指定值。...注意,如果指定的键不存在,则自动添加。 获取字典元素值 值 = dict(键) 判断键是否存在 dict.Exists(键) 如果指定键存在,返回True,否则返回False。...删除元素 dict.Remove键 删除指定键所在的元素。...删除所有元素 dict.RemoveAll 遍历所有元素 Dim key As Variant For Each key In dict.Keys Debug.Print key, dict

2.1K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Excel VBA解读(162): 一起看看数组、集合和字典

    可以编写声明字典对象变量的代码如下: Dim dict As New Dictionary 或者: Dim dict As Dictionary Set dict = New Dictionary元素赋值...集合 下面的代码先声明集合对象,然后在添加元素时定义键值: Dim col As Collection Dim rng As Excel.Range Dim sRangeName As String...下面的代码添加对象到字典中,其语法与添加元素到集合中非常相似,只是键和元素参数的位置相反: Dim dict As Scripting.Dictionary Dim rng As Excel.Range...(sRangeName) dict.Add sRangeName, rng 可以使用下面的语句来获取指定键所在的元素: dict.Item(sRangeName) 添加元素 添加元素时,集合与字典的参数位置刚好相反...集合 集合可任意添加或删除元素,因此对于数量变化的数据使用集合更好。相对于数组,集合更容易使用一些,特别是添加元素、遍历元素。然而,集合是只读的,你可以添加或删除集合中的元素,但不能修改其值。

    4.5K10

    JS面试之数据结构与算法 (5)

    序列文章 JS面试之函数(1) JS面试之对象(2) JS面试之数组的几个不low操作(3) JS面试之http0.9~3.0对比分析(4) 前言 数据结构是计算机存储、组织数据的方式,算法是系统描述解决问题的策略...[]; } } // 实例化一个栈 const stack = new Stack(); console.log(stack.isEmpty); // true // 添加元素...stack.push(5); stack.push(8); // 读取属性再添加 console.log(stack.peek); // 8 stack.push(11);..., 但是不同于数组,每个元素是一个存贮元素本身的节点和指向下一个元素引用组成 要想访问链表中间的元素,需要从起点开始遍历找到所需元素 class Node { constructor(element...console.log(tree.min()); console.log(tree.max()); 2.算法篇 2.1 冒泡算法 冒泡排序,选择排序,插入排序,此处不做赘述,请戳 排序 2.2 斐波那契 特点:第三等于前面两之和

    97620

    游戏性法宝:解谜与策略玩法

    对比《美少女梦工厂2》和前作《美少女梦工厂1》,添加元素主要分为两类,一类是解谜元素,另外一类是策略元素。...这几个例子都是“上古”游戏的例子了,但是这个传承一直到现在都未中断,大家可以在现在的大多数日式RPG以及3A大作中,都可以发现大量的需要细心观察,才能“解锁”发现的所谓“彩蛋”元素。...就连《星际争霸2》这种RTS游戏,也在每个剧情关卡中,添加了“可选任务”的设置,这些任务就是需要玩家探索“解谜”一些额外的游戏内容的。...比如《最终幻想》系列,每一代都内置了大量的战斗装配系统,搜集采集的物资制造,也需要玩家去思考如何有效的利用。我们可以观察一下传统RPG的设置,一般都会有所谓角色属性、装备、技能系统。...在《辐射》系列中,角色的属性使用所谓SPECIAL系统规定了7个基本属性,可以不断成长,而技能则用perk系统构建,让玩家可以不断增加这些技能。

    1K50

    Robot Framework内置关键字

    Contain 是否包含任一元素Contain Any 某元素被包含的次数Contain X Times 是否以某某开头Start With 是否以某某结尾End With 是否符合正则表达式Match...关键字是否存在Keyword Should Exist 列表是否包含某值List Should (Not) Contain Value 两个列表是否相等Lists Should Be Equal 列表不包含重复List...Should Not Contain 字典是否包含某键值对Dictionary Should Contain Item 字典是否包含某key值Dictionary Should (Not) Contain...Key 字典是否包含某value值Dictionary Should (Not) Contain Value 字典是否相等Dictionary Should Be Equal 常用关键字 打印内容Log...延时等待Sleep 添加注释Comment 获取数量,长度,时间Get +Count/Length/Time 导入测试库Import Library

    1.8K30

    Python:字典(Dictionary)解读+用法详解+代码+运行结果

    参考链接: Python字典dictionary | setdefault方法 本章目录:  0、字典(Dictionary)  1、创建一个字典  2、Python里嵌套字典  3、添加元素到字典中 ...4、访问字典中的元素  5、删除字典中元素  6、字典的所有操作函数  0、字典(Dictionary)  在Python中是一个无序的数据值集合,用于像存储map一样存储数据值,与其他只将单个值作为元素的数据类型不同...,Dictionary持有key和value,即键值对。 ...  在Python Dictionary中:  可以通过多种方式添加元素。...其他函数如pop()和popitem()也可用于从字典中删除特定值和任意值,可以使用clear()方法一次性删除字典中的所有

    2.4K40

    CPT: 用紧致预测树进行序列预测

    从推荐系统、自然语言处理还是时间序列分析,它的潜力似乎是无穷无尽的。这使得业界涌现出前所未有的解决方案,并推动着不断创新。...01 预测树 预测树带有多个节点,每个节点有三个数据元素: 数据存储在节点中的实际数据。 子节点-该节点是所有子节点的列表。 父节点-指向此节点的父节点的链接或引用。...Sequence 1: A, B, C Sequence 2: A, B, D TRIE数据结构从序列A、B、C的第一个元素A开始,并将其添加到根节点。然后B被添加到A, C被添加到B中。...如果不存在,我们将将B添加到A的子列表中,在带有SEQ 1值的倒排索引中添加B的条目,然后将当前节点移动到B。 重复上面的过程,直到我们完成添加seq 1的最后一个元素为止。...“计数词典”中,同时添加它们的分值 将每个相似序列的后继元素与分数一起添加到字典中。

    1.2K10

    关于游戏制作

    当时的结论是,“因为元素太少,内容太少”,而同样的内容不停复用,肯定是会有严重的“重复感”。 所以我想加入新的机制,新的元素。 但实际上这么做了以后,前两章的空洞还是无法填补。...而这个原因会导致,之后我不管再怎么添加元素,它也不会改变这种枯燥感。 所以我停止制作“白露公主”,重新开始审视并重构前两章。 ? 之前的精灵之息,既想要rougelike的随机,又想要构建世界观。...里面的元素除了堆叠,还是堆叠。这些元素无法产生相互作用的巨大效果。制作的人,只是自以为很努力的在做最基础的体力工作,然后自我感动。 所以,我决定去除随机性,先把前两章按照设计好的地图,进行展开。...而这结果就是在rougelike世界观两里,我选择把这游戏改成类rpg了。...(至于为什么不是完全的rpg,等白露公主完成后,我再解释) ---- 既然决定了要自己设计,地图和地图事件就变成优先级最高部分。

    76310

    地图函数在 Python 中有什么用?

    将 map() 与数字列表一起使用 例 以下程序使用 Python 中的 map() 函数向列表中的每个元素添加 5 - # creating a function that accepts the number...字典可以使用键访问,但列表元素通过索引按其在列表中的位置进行检索,这就是字典与列表的不同之处。 由于字典是一个迭代器,你可以在 map() 函数中使用它。...例 以下程序使用 Python 中的 map() 函数向字典中的每个元素添加 5 − # creating a function that accepts the number as an argument... dictionary  modifiedDict = map(exampleMapFunction, inputDictionary) # printing the modified dictionary...filter() 函数返回函数返回 true 的可迭代输入。 如果未传递任何函数,则 filter() 使用标识函数。

    71730

    免费RPG日! 【Gaming】

    事实上,OGL游戏的规则通常是作为系统参考文档(SRD)免费发布的,因此,无论您是否购买规则手册的副本,您都可以了解如何玩游戏。...产品标识可以是出版物的商业外观(图形元素和布局)、徽标、术语、知识、专有名称等等。未经发行商同意,任何定义为产品标识的内容都不得重复使用。...当卓越的RPG特许经营权拥抱开源时,业界掀起了至今仍能感受到的浪潮。第三方开发人员可以为5e和探路者系统创建一些内容。...其他系统,如布伦特·纽霍尔的地牢挖掘、命运、地牢世界,以及更多的游戏都是在知识共享许可下授权的。...许多其他系统的内容使用了Creative Commons许可证。有些游戏,比如90年代复活的Dead EarthRPG,使用了GNU免费文档许可证。 有很多游戏资源都是用开放的许可证开发的。

    88950

    .NET面试题系列 - IEnumerable的派生类

    堆栈最基本的两种操作就是向堆栈内添加数据以及从堆栈中删除数据。Push(进栈)操作是向堆栈内添加数据。而把数据从堆栈内取走则用 Pop(出栈)操作。每次push进入栈的数据位于栈顶。...Enqueue方法会判断 Queue中是否有足够容量存放新元素。如果有,则直接添加元素,并使索引tail递增。在这里的tail使用求模操作以保证tail不会超过数组长度。...Linked list (LinkedList):当元素的数量不是固定的,且存在大量列表的头尾添加的动作时。否则使用 List。...哈希(需要大规模查找): Hash table (Dictionary):当需要使用键值对(Key-Value)来快速添加和查找,并且元素没有特定的顺序时。...Tree-based dictionary (SortedDictionary):当需要使用键值对(Key-Value)来快速添加和查找,并且元素总是需要根据 Key 来排序时。

    1.7K20

    .NET中的泛型集合

    与字典类似,键在集合中必须是唯一的——试图添加具有相同键的另一个将失败并抛出异常。...如果向字典添加了若干然后迭代,你会发现的顺序与插入时相同,但请不要信以为真。有点不幸的是,刻意添加条目以维持排序的实现可能会很怪异,而碰巧自然扰乱了排序的实现则可能带来更少的混淆。...如果要创建一个排序的字典,SortedList将被有效地填充,想象一下保持List排序的步骤,你会发现向列表末尾添加单项是廉价的(若忽略数组扩充的话将为O(1)),而随机添加则是昂贵的,因为涉及复制已有...如果添加索引追上了移除索引,所有内容将被复制到一个更大的数组中。 Queue提供了Enqueue和Dequeue方法,用于添加和移除。Peek方法用来查看下一个出队的,而不会实际移除。...BlockingCollection假设没有东西会直接添加到包装的集合中,所有相关方都应该使用包装器来对工作进行添加和移除。

    18220
    领券