基本操作之——字典

*字典旨在将任意元组和/或标志性对象数据存储在单个容器中。存储的数据与键值(数字或字符串)相关联,以在容器中处理这些数据值

dev_close_window ()
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
* dev_resize_window_fit_size (0, 0, 512, 512, -1, -1)
Message := '字典旨在将任意元组和/或标志性对象数据存储在单个容器中。'
Message[1] := '存储的数据与键值(数字或字符串)相关联,以在容器中处理这些数据值'

dev_get_window (WindowHandle)
set_display_font (WindowHandle, 16, 'mono', 'true', 'false')
disp_message (WindowHandle, Message, 'window', 12, 12, 'white', 'false')
stop ()
*
* 准备图像用于后续操作
gen_image_gray_ramp (Image, 0, 1, 128, 256, 256, 512, 512)
gen_rectangle1 (Rectangle, 30, 20, 100, 200)
gen_contour_region_xld (Rectangle, Contours, 'border')
concat_obj (Image, Rectangle, ObjectsConcat)
concat_obj (ObjectsConcat, Contours, ObjectsConcat)

*
* 创建一个字典
create_dict (DictHandle)
set_dict_tuple (DictHandle, 'single_integer', 27)
set_dict_tuple (DictHandle, 'single_string', 'Hello world')
set_dict_tuple (DictHandle, 'mixed_tuple', ['The answer',42,'any',11.05])

 

*对象类型作为键值
set_dict_object (Image, DictHandle, 'single_image')
set_dict_object (Rectangle, DictHandle, 'single_region')
set_dict_object (ObjectsConcat, DictHandle, 'object_array')


* 整数也允许作为键,这支持类似数组的索引
set_dict_object (Image, DictHandle, 0)
set_dict_object (Contours, DictHandle, 1)
set_dict_tuple (DictHandle, 42, 2)
*
* 查询字典信息
* 获取字典所有的键keys
get_dict_param (DictHandle, 'keys', [], AllKeys)
* - 测试特定键是否存在
get_dict_param (DictHandle, 'key_exists', ['mixed_tuple','foo',2,'single_image'], KeysPresence)

* 确定给定键引用的数据类型
get_dict_param (DictHandle, 'key_data_type', ['mixed_tuple','object_array'], KeysType)
*
* 直接使用键读取字典中存储的数据
get_dict_tuple (DictHandle, 'mixed_tuple', TupleCopy)
get_dict_object (ObjectCopy, DictHandle, 'object_array')
*
*读取键多对应的所有 值
get_dict_param (DictHandle, 'keys', [], AllKeys)

for Index := 0 to |AllKeys| - 1 by 1
NextKey := AllKeys[Index]
get_dict_param (DictHandle, 'key_data_type', NextKey, NextKeyDataType)
if (NextKeyDataType == 'tuple')
get_dict_tuple (DictHandle, NextKey, NextTupleCopy)
else
get_dict_object (NextObjectCopy, DictHandle, NextKey)
endif
endfor
*
* 操作字典及其键
* 1.移除部分键
remove_dict_key (DictHandle, ['single_image','single_region'])
* 2. 增加新键
set_dict_tuple (DictHandle, 4711, ['a string','yet another string'])
* 3. 更改某键的键值
set_dict_tuple (DictHandle, 'object_array', 'this is now a simple text')
get_dict_param (DictHandle, 'keys', [], AllKeys_Modified)
get_dict_param (DictHandle, 'key_data_type', ['mixed_tuple','object_array'], KeysTypeModified)
* 4. 移除所有键
remove_dict_key (DictHandle, AllKeys_Modified)
get_dict_param (DictHandle, 'keys', [], AllKeysCleared)

 

posted @   echo-efun  阅读(72)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示