使用字典
字典类型是键值对的集合,其中键和值都具有相同的类型。
字典语法
字典字面量包含一组键值对(也称为元素),用方括号 ([]
) 括起来。元素之间用逗号分隔。键必须都属于同一类型。值必须都属于同一类型。键通过冒号 (:
) 与值关联。
字典示例
[0: "Sun", 1: "Mon", 2: "Tue"]
["red": "#FF0000", "green": "#00FF00", "blue": "#0000FF"]
[1.0: {stable: 12, latest: 12}, 1.1: {stable: 3, latest: 15}]
引用字典值
Flux 字典是键索引的。要引用字典中的值
导入
dict
包。使用
dict.get()
并提供以下参数- dict:要引用的字典
- key:要引用的键
- default:如果键不存在时返回的默认值
import "dict"
positions =
[
"Manager": "Jane Doe",
"Asst. Manager": "Jack Smith",
"Clerk": "John Doe",
]
dict.get(dict: positions, key: "Manager", default: "Unknown position")
// Returns Jane Doe
dict.get(dict: positions, key: "Teller", default: "Unknown position")
// Returns Unknown position
操作字典
从列表创建字典
- 导入
dict
包。 - 使用
dict.fromList()
从记录数组创建字典。每个记录都必须具有 key 和 value 属性。
import "dict"
list = [{key: "k1", value: "v1"}, {key: "k2", value: "v2"}]
dict.fromList(pairs: list)
// Returns [k1: v1, k2: v2]
将键值对插入字典
- 导入
dict
包。 - 使用
dict.insert()
将键值对插入字典。如果键已存在,则会用新值覆盖。
import "dict"
exampleDict = ["k1": "v1", "k2": "v2"]
dict.insert(dict: exampleDict, key: "k3", value: "v3")
// Returns [k1: v1, k2: v2, k3: v3]
从字典中删除键值对
- 导入
dict
包。 - 使用
dict.remove()
从字典中删除键值对。
import "dict"
exampleDict = ["k1": "v1", "k2": "v2"]
dict.remove(dict: exampleDict, key: "k2")
// Returns [k1: v1]
返回字典的字符串表示形式
使用 display()
返回字典的 Flux 字面量表示形式作为字符串。
x = ["a": 1, "b": 2, "c": 3]
display(v: x)
// Returns "[a: 1, b: 2, c: 3]"
在表格中包含字典的字符串表示形式
使用 display()
返回字典的 Flux 字面量表示形式作为字符串,并将其作为列值包含在内。
import "sampledata"
sampledata.string()
|> map(fn: (r) => ({_time: r._time, exampleDict: display(v: ["tag": r.tag, "value":r._value])}))
输出
_time (时间) | exampleDict (字符串) |
---|---|
2021-01-01T00:00:00Z | [tag: t1, value: smpl_g9qczs] |
2021-01-01T00:00:10Z | [tag: t1, value: smpl_0mgv9n] |
2021-01-01T00:00:20Z | [tag: t1, value: smpl_phw664] |
2021-01-01T00:00:30Z | [tag: t1, value: smpl_guvzy4] |
2021-01-01T00:00:40Z | [tag: t1, value: smpl_5v3cce] |
2021-01-01T00:00:50Z | [tag: t1, value: smpl_s9fmgy] |
2021-01-01T00:00:00Z | [tag: t2, value: smpl_b5eida] |
2021-01-01T00:00:10Z | [tag: t2, value: smpl_eu4oxp] |
2021-01-01T00:00:20Z | [tag: t2, value: smpl_5g7tz4] |
2021-01-01T00:00:30Z | [tag: t2, value: smpl_sox1ut] |
2021-01-01T00:00:40Z | [tag: t2, value: smpl_wfm757] |
2021-01-01T00:00:50Z | [tag: t2, value: smpl_dtn2bv] |
此页内容是否对您有帮助?
感谢您的反馈!