元组命名

简介: 在Julia中,可以为元组命名以方便访问。方法包括:1) 分别命名键和值,如`shape_item2 = NamedTuple{names_shape}(values_shape)`,然后通过`.corner1`,`.corner2`访问;2) 键值对在同一元组中,如`shape_item = (corner1 = (1, 1), ...)`,同样用`.`访问;3) 使用`merge()`合并两个命名元组,如`merge(shape_item, colors_shape)`。这增强了元组的可读性和实用性。

元组命名
我们可以为元组命名,从而可以更方便的访问它。

以下列出了几种不同元组的命名方式。

1、元组中的键(key)和值(value)分开命名
元组中的键(key)和值(value)可以分开独立命名,实例如下:

实例
julia> names_shape = (:corner1, :corner2)
(:corner1, :corner2)

julia> values_shape = ((100, 100), (200, 200))
((100, 100), (200, 200))

julia> shape_item2 = NamedTuple{names_shape}(values_shape)
(corner1 = (100, 100), corner2 = (200, 200))
我们可以使用 . 点号来访问元组:

实例
julia> shape_item2.corner1
(100, 100)

julia> shape_item2.corner2
(200, 200)
2、键(key)和值(value)同时在一个元组中
键(key)和值(value)可以同时在一个元组中,实例如下:

实例
julia> shape_item = (corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0))
(corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0))
我们可以使用 . 点号来访问元组:

实例
julia> shape_item.corner1
(1, 1)

julia> shape_item.corner2
(-1, -1)

julia> shape_item.center
(0, 0)

julia> (shape_item.center,shape_item.corner2)
((0, 0), (-1, -1))
我们还可以像使用普通元组一样访问所有值,如下所示:

实例
julia> c1, c2, center = shape_item
(corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0))

julia> c1
(1, 1)
3、合并两个已命名的元组
我们可以使用 merge() 函数来合并两个已命名的元组,实例如下:

实例
julia> colors_shape = (top = "red", bottom = "green")
(top = "red", bottom = "green")

julia> shape_item = (corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0))
(corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0))

julia> merge(shape_item, colors_shape)
(corner1 = (1, 1), corner2 = (-1, -1), center = (0, 0), top = "red", bottom = "green")

相关文章
|
消息中间件 NoSQL Redis
SpringDataRedis 中配置消息的监听器| 学习笔记
快速学习 SpringDataRedis 中配置消息的监听器。
|
Shell
编写SHELL脚本--编写简单脚本
1.简单脚本文件hello.sh,内容如下 #!/bin/bash pwd ls -al  执行脚本:bash hello.sh  或者使用root命令:  ./hello.sh   2.接受用户参数   $0代表执行的脚本文件名称   $*代表所有的用户参数   $?代表上个命令执行后的返回...
1848 0
|
1天前
|
数据采集 人工智能 安全
|
10天前
|
云安全 监控 安全
|
2天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
910 150
|
15天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1646 8
|
6天前
|
人工智能 前端开发 文件存储
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择
星哥带你玩转飞牛NAS,部署开源笔记TriliumNext!支持树状知识库、多端同步、AI摘要与代码高亮,数据自主可控,打造个人“第二大脑”。高效玩家的新选择,轻松搭建专属知识管理体系。
365 152
|
7天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
604 152