您的位置 首页 > 数码极客

如何提出字典的值、如何向字典中添加值…

前景提要(文末提供源码下载)

再之前我们分享获取数据唯一值的时候,很多的小伙伴都觉得其他的方式都不算是最简单的,觉得用字典是最简单的方法,其实这个问题也没有绝对的定论,不过本着学习的心态,我们这里也来分享下通过字典的方式来获取数据唯一值的方法,继续扩展下我们的方法库

场景说明

这里我们还是利用之前的数据源,昨天我们是通过了集合的方式来得到唯一值的,今天我们来通过字典的方式,这里我们先来学习下如何通过单列的唯一值的方式。主要掌握了单列的唯一值的获取的方法,后面根据多列来或获取唯一值就很容易理解了。

代码区

Sub dan() Dim rng As Range, arr, zd As Object, arr1 Set zd = CreateObject(";) Set rng = A("请选择数据区", "数据区", , , , , , 8) arr = rng k = 0 For i = 1 To UBound(arr) If Not zd.Exists(arr(i, 1)) Then zd.Add arr(i, 1), 1 End If Next i arr1 = zd.keys() CountN = zd.Count Range("E2").Resize(CountN, 1) = Work(arr1) End Sub

来看看代码的效果。

这里我们要实现的效果是获取A列,也就是性名列的唯一值,一起来看看

为了更好的展示效果,我们这里讲昨天学习过的集合的方式也一起进行效果的展示,可以看到得出的结果是一样的

代码解析

一起来分析下今天的代码

我们今天使用的是字典,这里我们就来大致的说下字典。

字典就和我们现在使用的汉语词典是一样的,每个汉字只会出现一次,利用字典的这个特点,我们也可以去获取唯一值

不过字典在使用之前一定要声明,所以这里我们需要先申明一个字典

Set zd = CreateObject(";)

有了字典之后,我们就可以往字典中添加内容了,而字典里面的内容需要两个部分,一个就是键,一个就是值,合起来统称键值对

就好比字典中,一个汉字,他就是键,而汉字的解释,他就是他对应的值,这样大家应该比较好理解了。

那么如何添加呢?

zd.Add arr(i, 1), 1

是不是所有的数据都可以直接添加上去呢?不是的,因为字典的唯一性,如果你添加的数据有重复的话,那么就会报错的,这个时候我们其实可以利用错误的处理,忽略错误,不断的添加下去的;不过为了后续内容的展开,这里我们利用判断是存在的方式来进行

If Not zd.Exists(arr(i, 1)) Then

如果不存在字典中,才会去添加,如果已经存在的话,就不会再次添加了。

依照上面的动图,大家也可以看到,如果键是一样的,那么他是会跳过添加这个步骤的。

然后当全部的数据都添加完成之后,我们就可以通过

arr1 = zd.keys()

获得字典的数据所有的键,这里我们只需要键的唯一值,并不需要键所对应的值的内容,所以只需要keys(),如果想要获得对应的键值的内容,只需要将keys换成items就可以了。

后面就是数组的转置了,这里在经过了之前工作簿,工作表两大系列的学习之后,相信大家应该都非常的熟悉了

================================

本节课的案例源码已经上传,需要的小伙伴请按照如下步骤操作,一个不能少哦~~

1. 点我头像加个关注~

2.转发下本文章(算是对我的小小支持吧~)

3.后台私信“8-5”

希望大家多支持~~,多多关注 ~ ~

好了,明晚19:00,准时再见!

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何提出字典的值,如何向字典中添加值,如何取出字典的值,如何输出字典的值,如何获取字典的值,如何取出字典中的值”边界阅读