Необходимо обернуть код в одну строку с использованием понимания - PullRequest
0 голосов
/ 31 января 2019
for s in strategies:
        strats_having_fcs = {a.strategy: a.algorithmType for a in s.algorithms if a.algorithmType == AlgorithmTypeEnum.feedback_control.value}

можем ли мы сделать это одной строкой путем понимания?

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Just:

strats_having_fcs = {a.strategy: a.algorithmType for s in strategies for a in s.algorithms if a.algorithmType == AlgorithmTypeEnum.feedback_control.value}

Посмотрите на этот ТАК вопрос о понимании внутри списка.Для меня это многое прояснило, как работает логика, стоящая за этим.

0 голосов
/ 31 января 2019

IIUC, возможно, вы ищете это вложенное понимание

strats_having_fcs = {a.strategy: a.algorithmType for s in strategies for a in s.algorithms 
                     if a.algorithmType == AlgorithmTypeEnum.feedback_control.value}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...