假设我有一个元组列表,其中包含图像中从左到右,从上到下的每个像素的RGB信息。
[(1,2,3),(2,3,4),(1,2,4),(9,2,1),(1,1,1),(3,4,5)]
假设已经知道图像的宽度和高度,有没有办法可以使用列表列表来表示图像?
例如,假设上面的元组列表代表2x3图像,image[1][2]
应该给我RGB元组(3,4,5)
。
答案 0 :(得分:2)
>>> width = 2
>>> pixels = [(1,2,3),(2,3,4),(1,2,4),(9,2,1),(1,1,1),(3,4,5)]
>>> image = [pixels[x:x+width] for x in range(0,len(pixels),width)]
>>> image
[[(1, 2, 3), (2, 3, 4)], [(1, 2, 4), (9, 2, 1)], [(1, 1, 1), (3, 4, 5)]]
它会使x
增加step
的值,而不是默认值,即1.如果您熟悉Java,则类似于:
for (int x=0; x<length; x = x+step)