Структурная разбивка стенографий If Else - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь сделать два сокращенных оператора If Else в более традиционном формате, чтобы понять его.

Например, от:

if-expression if (condition) else else-expression

до:

if condiction:
    if-expression
else:
    else-expression

Вот фактические утверждения, которые я пытаюсь разбить:

Заявление 1:

nc = [node_colors[node] if node in node_colors else 'none' for node in projected_routes.nodes()]

Заявление 2:

ns = [20 if node in node_colors else 0 for node in projected_routes.nodes()]

Вот мои попытки, но они не возвращают те же результаты, что и выше. Я не уверен, какова роль [] здесь.

Заявление 1:

if node in node_colors:
    nc = node_colors[node]
else:
    for node in projected_routes.nodes():
        'none'

Заявление 2:

if node in node_colors:
    ns = 20
else:
    for node in projected_routes.nodes():
        0

Где я делаю неправильно? Пожалуйста, кто-нибудь поможет мне с этим.

1 Ответ

0 голосов
/ 03 апреля 2020

Возможно, это сработает.

Заявление 1:

nc=[]

for node in projected_routes.node():
    if node in node_colors:
        nc.append(node_colors[node])
    else:
        nc.append('none')

Заявление 2:

ns=[]
for node in projected_routes.node():
    if node in node_colors:
        ns.append(20)
    else:
        ns.append(0)

В ваших попытках у вас есть ошибки:

  • порядок / логика c ошибки (где / какой цикл / условно использовать)

  • назначение вместо добавления

    if node in node_colors:
                nc = node_colors[node]

Выше «значение» n c будет заменяться для каждой итерации.

for node in projected_routes.nodes():
        0

Выше образца, 0 «оставлен в воздухе»; не добавлено, не назначено.

О логике c (обучение):

[ expression if conditional else other thing for this many times ] 

Переводится как:

for this many times:
    if conditional: 
        do this thing
    else:
        do something else
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...