gpt4 book ai didi

python - 将另一个值添加到二维列表

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:19 26 4
gpt4 key购买 nike

在Python中,我正在编写一个卡方函数来分析图片。以下是当前函数,它获取每个像素的 RGB 值并将其放入列表中:

`def chiSquared(c):
counter=0
width, height = c.size
matrix = [[0 for x in range(3)] for y in range(height*width)]
for x in range(width):
for y in range(height):
matrix[counter][0]=c.getpixel((x,y))[0]
matrix[counter][1]=c.getpixel((x,y))[1]
matrix[counter][2]=c.getpixel((x,y))[2]
counter+=1`

矩阵如下:

[[230, 222, 218], [221, 218, 210], [218, 214, 206], [213, 206, 202], [214, 210, 206], [217, 215, 206], [218, 214, 210], [222, 218, 210], [225, 218, 214], [230, 222, 214], [221, 214, 206], [213, 211, 207], [205, 202, 198], [198, 194, 186], [177, 170, 166]...

我想知道的是:有没有一种简单的方法可以将每个三元组中的值相加并创建一个四元组,其中最后一位数字是三元组的总和。上述矩阵的 IE -> [230,222,218] -> [230,222,218,670]

edit1:简单地说,我的意思是有没有一种更好的方法,然后对整个矩阵(每个三元组)求和并创建一个新矩阵。

最佳答案

IIUC

l=[[230, 222, 218], [221, 218, 210]]
[x+[sum(x)] for x in l]
Out[17]: [[230, 222, 218, 670], [221, 218, 210, 649]]

关于python - 将另一个值添加到二维列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46597439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com