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(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

启航学途

您的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值