Что делает "char_to_ix = {ch: i для i, ch in enumerate (sorted (chars))}"? - PullRequest
0 голосов
/ 18 февраля 2019

Что делает эта строка кода?

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

Что означает ch:i?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2019

это толкование, как упомянуто в @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}

0 голосов
/ 18 февраля 2019

Это продиктованное понимание.ch - это ключ в словаре, i - значение для этого ключа.

Синтаксис словаря

dict = {
  key1: value1,
  key2: value2
}

С вашим кодом вы будете генерировать key: value пар из перечисленных символов.Ключ будет элементом отсортированного списка символов.Значение - индекс этого элемента

...