Mojo dict字典详解及接口相关说明

dict字典

定义 ,存储键值对的集合。Dict

Dict 为字典元素的插入、查找和删除提供了高效的 O(1) 摊销平均时间复杂度。它的实现与 Python 的实现非常相似:dict

  • 性能和大小针对小型词典进行了大量优化,但可以扩展到大型词典。
  • 插入顺序被隐式保留。对键、值和项的迭代具有基于插入的确定性顺序。

关键元素必须实现KeyElement该特征,其中包括 Movable、Hashable 和 EqualityComparable。它还包括 CollectionElement 和 Copyable,直到我们通过标准库类型推送引用。

出于类似原因,Value 元素必须是 CollectionElements。键和值类型都必须始终是 Movable,以便我们可以随着字典的增长而调整字典的大小。

DictEntry

将键值对条目存储在字典中。

参数:

  • K (KeyElement):字典的键类型。必须是 Hashable+EqualityComparable。
  • V (CollectionElement):字典的值类型。

属性:

  • hash (Int):,因此在字典查找期间不会重新计算哈希。key.__hash__()
  • key (K):条目的唯一键。
  • value (V):与键关联的值。

实现的特征:

AnyType`,`CollectionElement`,`Copyable`,`Movable

方法:

__init__

__init__(inout self: Self, owned key: K, owned value: V)

从键和值创建条目,计算哈希值。

参数:

  • key (K):条目的键。
  • value (V):条目的值。

Dict

存储键值对的容器。

键类型和值类型必须静态指定,这与 Python 字典不同,Python 字典可以接受任意键和值类型。

键类型必须实现KeyElement包含MovableHashableEqualityComparable 的特征。它还包括CollectionElementCopyable直到我们有引用。

值类型必须实现CollectionElement特征。

用法:

from collections import Dict

var d = Dict[String, Int]()
d["a"] = 1
d["b"] = 2
print(len(d))      # prints 2
print(d["a"])      # prints 1
print(d.pop(

你可能感兴趣的:(Mojo,mojo,Mojo,dict字典详解,Mojo,dict接口相关说明,Mojo入门,mojo教程,mojo基础教程,mojo入门教程)