Explicação da compreensão da lista aninhada
A compreensão da lista aninhada oferece uma maneira concisa de criar listas complexas dinamicamente usando iteráveis. Embora sua funcionalidade possa ser compreendida por meio de loops for equivalentes, sua abordagem sistemática ajuda a aplicar o conceito em vários exemplos.
Sintaxe e tradução
As compreensões de listas aninhadas seguem a sintaxe:
[exp2([exp1 for x in xSet]) for y in ySet]
Decompondo isso, você descobrirá que para cada elemento y em ySet, uma lista interna é criada. Dentro desta lista interna, uma expressão exp1 é avaliada para cada elemento x em xSet. Por fim, a compreensão da lista externa avalia exp2 usando cada lista interna criada. &&&]
[exp1 para x em xSet para y em ySet]Equivalente for loop:
resultado = [] para x em xSet: para y em ySet: result.append(exp1)[exp1 for x in xSet for y in ySet][[exp1 for x in xSet] for y in ySet]Equivalente para loop:
[exp1 for x in xSet for y in ySet]resultado = [] para y em ySet: resultado interno = [] para x em xSet: innerResult.append(exp1) result.append(innerResult)
[exp1 for x in xSet for y in ySet]
Comece do mais interno para loop.
result = [] for y in ySet: innerResult = [] for x in xSet: innerResult.append(exp1) result.append(innerResult)
Mova para o próximo loop for e use a lista criada na etapa anterior como o iterável .Repita as etapas 1 a 3 para cada loop for na compreensão.
Use a expressão externa (exp2) para avaliar o resultado final.
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