Что происходит внутри фрозенцета (...)? [Python3, детерминированность c конечные автоматы] - PullRequest
0 голосов
/ 24 февраля 2020

В настоящее время я анализирую некоторый код автоматов, который написан на Python 3. К сожалению, я не знаю достаточно о Python 3, как я и думал. Вот некоторая предыстория: в настоящее время я анализирую фрагмент кода для свойства замыкания («конкатенация») для конечного автомата Deterministi c. Можно предположить, что M = (Q, Sigma, Delta, q, F) DFA. Внутри свойства закрытия конкатенации находится фрагмент кода, написанный ниже. Может ли кто-нибудь описать мне, что происходит внутри объема frozenset (...)?

delta = dict()
        for q in QA:
            for a in SigmaA:
                delta[((1,q),a)] = frozenset({ (1,r) for r in deltaA[(q,a)] })

1 Ответ

1 голос
/ 24 февраля 2020

После часов исследований и друзей, которые помогли. Я получил ответ на эту мою проблему. По-видимому, внутри области видимости есть нечто, называемое «пониманием множеств» для python множеств. Вот ссылка: Python Задать понимание .

В загруженных терминах (или для ленивых): значение, найденное ключом кортежа, является чем-то вроде списка или dict, который используется для понимания dict.

...