python - Python数组填充优化
问题描述
我有一个这样的颜色数组:
colors = [
[50, 0, 255], # Blue
[255, 0, 0], # Red
[255, 0, 180], # Pink
[255, 140, 0], # Orange
[255, 255, 0], # Jaune
[0, 255, 255], # Cyan
]
我有一个大像素数组:
pixels = [0] * width * height * 3
我想构建一个包含相同颜色的随机块的图像:
for y in range(block_count_y):
for x in range(block_count_x):
color = random.choice(colors)
for yp in range(block_height):
for xp in range(block_width):
offset = (y * width * block_height + yp * width + x * block_width + xp) * 3
pixels[offset + 0] = color[0]
pixels[offset + 1] = color[1]
pixels[offset + 2] = color[2]
然后我必须用这个来获取字节像素:
bytes(pixels)
我的循环很慢。我正在寻找一种优化它的方法。
我已经尝试过 numpy 和列表理解,但它不起作用......
任何想法 ?
谢谢