alexqj 发表于 2022-12-9 15:27:35

火山中有没有类似字典(dict)的数据类型?

刚开始了解火山,以前在vbs上用字典处理过excel大量数据的排序,效率挺好的,不清楚火山pc是否有类似的处理机制、或者是否有平替的方案?

alexqj 发表于 2022-12-9 15:31:45

补充说明一下,vbs上是用createobject来构造一个dict使用的
Set fso = CreateObject("Scripting.FileSystemObject")
不知道火山中是如何实现这种功能?或者是否有现成的模块可以使用。

shuimiao 发表于 2022-12-9 15:47:22

火山有各种哈希类,比如文本到某某哈希表。可用来去重,我就用这个去重效率极高,排序的话应该也是可以的。

Scripting.FileSystemObject这个的话,好像可以用com对象来创建。

变量名,com,变量类型,COM对象类
com.创建 ("Scripting.FileSystemObject")

这个跟易语言的对象创建一样使用。可以看看官方样例里面有没有

清水活源 发表于 2022-12-9 15:47:39

有的,哈希表和无序哈希表就是。

alexqj 发表于 2022-12-9 19:38:27

谢谢二位。
我对哈希不熟,简单看了下介绍,因为例程比较少,暂时感觉哈希灵活性不如字典。
字典用键值处理排序、去重都很便利,顺序也好控制,哈希可用的方法比较单一,也可能是我对高级用法不熟。

alexqj 发表于 2022-12-9 19:45:16

alexqj 发表于 2022-12-9 15:31
补充说明一下,vbs上是用createobject来构造一个dict使用的
Set fso = CreateObject("Scripting.FileSystem ...

更正一个错误,构造dict应该是这个代码,之前的发错了:噜阿噜
Set oDict = CreateObject("Scripting.Dictionary")

alexqj 发表于 2022-12-9 21:15:59

再补充一句,字典的功能用json或键值表也能替代,但是针对大数据量的操作效率如何还不清楚,比如几十万条excel数据去重、统计出现的次数等,有待以后再验证。
用com对象操作dict,没有看到例程,从excel application的应用看,应该挺复杂的,暂时没考虑这个方向了。
页: [1]
查看完整版本: 火山中有没有类似字典(dict)的数据类型?