Python PyGame-如何按顺序使用列表信息?

Python PyGame-如何按顺序使用列表信息?,python,arrays,list,dictionary,Python,Arrays,List,Dictionary,我有用Python扫描图像并从中获取像素数据的代码。然后,它生成包含该数据的列表 e、 g.[0,1,2,3]-像素的X位置,[0,0,0,0]-像素的Y位置,[221,0,34102]-像素的红色值,[2100,3102]-像素的绿色值,[121,25,4120]-像素的蓝色值 我想做的是使用这些信息,以便根据X和Y坐标处的RGB值绘制瓷砖 所以我的问题是:我如何按顺序读回列表中的项目,以便将第一个项目从一个列表中读入一个新列表,将第二个项目从列表中读入另一个列表,等等 期望输出: 十、 Y=

我有用Python扫描图像并从中获取像素数据的代码。然后,它生成包含该数据的列表

e、 g.[0,1,2,3]-像素的X位置,[0,0,0,0]-像素的Y位置,[221,0,34102]-像素的红色值,[2100,3102]-像素的绿色值,[121,25,4120]-像素的蓝色值

我想做的是使用这些信息,以便根据X和Y坐标处的RGB值绘制瓷砖

所以我的问题是:我如何按顺序读回列表中的项目,以便将第一个项目从一个列表中读入一个新列表,将第二个项目从列表中读入另一个列表,等等

期望输出:

十、 Y=[0,0],[1,0]等

R、 G,B=[221,2121],[0100,25]等

当前代码(可能不相关):

导入pygame、sys、os、math、time、pygame.surfarray
##屏风##
pygame.init()
w、 h=800600;cx,cy=w//2,h//2;
os.environ['SDL\u VIDEO\u CENTERED']=“1”
pygame.display.set_标题('Test')
screen=pygame.display.set_模式((w,h),0)
mapsurface=pygame.display.set_模式((w,h),1)
##导入地图##
map_1=pygame.image.load(“assets/maps/map1.png”)
##创建一个新的“屏幕”供地图显示(在游戏屏幕下/不可见)##
地图表面.blit(地图1,(0,0))
类映射数组:
map_array=pygame.surfarray.array3d(mapsurface)
映射_数组_X=0
映射数组Y=0
地图\阵列\输出\颜色\红色=[0]
地图\阵列\输出\颜色\绿色=[0]
地图\阵列\输出\颜色\蓝色=[0]
映射\数组\输出\ X=[0]
映射\数组\输出\ Y=[0]
DrawTiles=0
打印=0
定义初始化(self,pos=(0,0)):
self.pos=列表(pos)
def更新(自身、dt、密钥):
彩色数组=self.map数组[self.map数组,self.map数组,0]
colorgreen\u array=self.map\u array[self.map\u array\u X,self.map\u array\u Y,1]
colorBlue\u数组=self.map\u数组[self.map\u数组\u X,self.map\u数组\u Y,2]
##地图阵列扫描-为地图中的每个像素提供X/Y坐标和RGB值##

如果self.map\u array\u X这几乎就是
zip
存在的原因

如果您有:

image_colors = [[221,0,34,102], [2,100,3,102], [121,25,4,120]]
你可以做:

combined_rgb = list(zip(*image_colors))
这将给你:

[(221, 2, 121), (0, 100, 25), (34, 3, 4), (102, 102, 120)]

“当前代码(可能不相关)”。代码始终是相关的=)太棒了,我找到了正确的实现,它工作了!
[(221, 2, 121), (0, 100, 25), (34, 3, 4), (102, 102, 120)]