首页 > 解决方案 > 这个字典是如何构造的?

问题描述

我无法理解这本字典是如何构造的:

chars="0123456789+ "
self.char_indices = dict((c, i) for i, c in enumerate(self.chars))

我在keras的示例中找到了此代码。

有人可以解释发生了什么吗?

编辑:具体来说,我不明白将哪种数据结构传递给 dict()。变量 i 是如何生成的?我在问代码的详细解释

标签: python

解决方案


以下代码是等效的:

self.char_indices = {}
for index, char in enumerate(self.chars):
    self.char_indices[char] = index

使用 self.char_indices dict,您可以在 O(1) 时间复杂度中找到特定字符在 self.chars 中(可以出现在输入中的字符)


推荐阅读