Troca eficiente com fatias e bytearray

Imagine que você tem uma matriz com valores BGR. Você deseja trocar B e R para ter valores RGB (exemplo tirado do módulo Python MSS ).

pixels_len = len(pixels)
pixels
= bytearray(pixels)
pixels
[2:pixels_len:3], pixels[0:pixels_len:3] =
pixels
[0:pixels_len:3], pixels[2:pixels_len:3]
pixels
= bytes(pixels)

Este código é o mais eficiente que encontrei para esse fim. E é incrivelmente rápido …

Se você quiser experimentar sua solução com dados reais, marque este desafio .

Fonte: blog.jmsinfo.co