"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como faço para usar a lógica if/else nas compreensões de lista do Python?

Como faço para usar a lógica if/else nas compreensões de lista do Python?

Publicado em 2024-12-21
Navegar:629

How Do I Use if/else Logic within Python List Comprehensions?

Compreensão de lista com if/else: sintaxe e uso

Ao trabalhar com compreensões de lista em Python, é encontrado incorporar lógica if/else para lidar com operações condicionais. Este artigo aborda a sintaxe correta para tais cenários.

Uma tarefa comum é criar uma lista baseada em uma sequência de origem, com o seguinte loop for contendo uma construção if/else:

results = []
for x in xs:
    results.append(f(x) if x is not None else '')

Este código anexa '' à lista de resultados se x for None e, caso contrário, calcula f(x). O resultado desejado também pode ser alcançado utilizando uma compreensão de lista, mas com um ajuste necessário na sintaxe:

results = [f(x) if x is not None else '' for x in xs]

A principal diferença está na ordem das cláusulas if e else na compreensão da lista. A sintaxe correta requer colocar a cláusula if antes da parte for, seguida pela cláusula else.

Em geral, a sintaxe para uma compreensão de lista com uma condição if/else é:

[f(x) if condition else g(x) for x in sequence]

Para compreensões de lista envolvendo apenas condições if para filtrar elementos da sequência de origem, a sintaxe é:

[f(x) for x in sequence if condition]

Observe que as expressões condicionais, usadas na sintaxe if/else de compreensões de lista, são distintas da construção if empregada para filtragem. As expressões condicionais permitem escolher entre duas expressões com base em uma condição, semelhante ao operador ternário ?: encontrado em outras linguagens. Por exemplo:

value = 123
print(value, 'is', 'even' if value % 2 == 0 else 'odd')

Este exemplo imprime se o valor é par ou ímpar usando uma expressão condicional.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3