Recuperando listas mapeadas em Python 3.x: map() como um iterador
No Python 3.x, a função map() retorna um iterador em vez de uma lista. Essa alteração foi implementada para melhorar a eficiência da memória e otimizar o desempenho. No entanto, isso representa um desafio se você precisar recuperar os valores mapeados como uma lista para processamento posterior.
Solução: convertendo o iterador em uma lista
Para recuperar o valores mapeados como uma lista, use a função list() para converter o iterador retornado por map():
mapped_list = list(map(chr, [66, 53, 0, 94]))
Este código retornará uma lista contendo os caracteres mapeados: ['B', '5', '\x00', '^'].
Alternativa: usando uma compreensão de lista
Uma maneira mais concisa de converter uma lista em uma lista de valores mapeados é usar uma lista compreensão:
mapped_list = [chr(c) for c in [66, 53, 0, 94]]
Esta expressão produz o mesmo resultado que o exemplo map() acima.
Iterando diretamente sobre o objeto do mapa
Em determinados cenários, talvez não seja necessário converter o objeto do mapa em uma lista. Você pode iterar diretamente sobre o objeto do mapa usando um loop for:
for c in map(chr, [65, 66, 67, 68]): print(c)
Este código imprimirá os caracteres "ABCD" sem criar uma lista desnecessária.
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