"char_to_ix = { ch:i for i,ch in enumerate(sorted(chars)) }" 是做什么的?

What does "char_to_ix = { ch:i for i,ch in enumerate(sorted(chars)) }" do?

这行代码是做什么的?

char_to_ix = { ch:i for i,ch in enumerate(sorted(chars)) }

ch:i是什么意思?

是听写理解。 ch - 它是字典中的关键, i - 该键的值。

字典语法是

dict = {
  key1: value1,
  key2: value2
}

使用您的代码,您将从枚举字符生成 key: value 对。 键将是排序的字符列表的一个元素。 值 - 该元素的索引

这是@han solo

中提到的字典理解

最终产品是字典
它会对你的 chars 进行排序,按升序为它们附加一个数字,然后使用每个字符作为该数值的键 这是一个例子:

chars = ['d', 'a', 'b']
sorted(chars) => ['a', 'b', 'd']
enumerate(sorted(chars)) => 展开成 [(0, 'a'), (1, 'b'), (2, 'd')]
的生成器对象 char_to_ix = {'a': 0, 'b': 1, 'd': 2}