需要python函数中返回列表的帮助吗

需要python函数中返回列表的帮助吗,python,list,function,return,append,Python,List,Function,Return,Append,我需要这样做 创建3个列表,一个为红色,一个为绿色,一个为蓝色,每个列表包含256个元素,所有元素都初始化为0 对于图像中的每个像素:从红色列表中的像素增量位置r获取红色的量r从绿色列表中的像素增量位置g获取绿色的量g从蓝色列表中的像素增量位置b获取蓝色的量b 返回红色、绿色和蓝色列表 代码是我写的 def color(): 红色=[0]*256 对于范围(0,getWidth(img))中的x: 对于范围(0,getHeight(img))中的y: r=getPixel(img、getWidt

我需要这样做 创建3个列表,一个为红色,一个为绿色,一个为蓝色,每个列表包含256个元素,所有元素都初始化为0 对于图像中的每个像素:从红色列表中的像素增量位置r获取红色的量r从绿色列表中的像素增量位置g获取绿色的量g从蓝色列表中的像素增量位置b获取蓝色的量b 返回红色、绿色和蓝色列表 代码是我写的

def color():
红色=[0]*256
对于范围(0,getWidth(img))中的x:
对于范围(0,getHeight(img))中的y:
r=getPixel(img、getWidth(img)、getHeight(img))
红色。追加(r)
返回(红色)

但由于某些原因,我无法查看列表。很简单,请看一下这个示例

>>> f= [9,5,4,3,2,7]
>>> g= ["p","o"]
>>> h= ["t","g"]
>>> def c():
    return f , g ,h

>>> c()
([9, 5, 4, 3, 2, 7], ['p', 'o'], ['t', 'g'])
只要去掉红色的括号,如果你想把这三个列表都传递出去,就这么做吧

return red, green ,blue

您似乎每次都从图像中获得相同的值。您可能应该在循环中的
getPixel
函数中使用
x
y
而不是
getWidth(img)

此外,由于您正在循环中追加(并且没有写入列表中的某个位置
red
),因此您应该只初始化一个空循环,而不是一堆零。我会尝试:

def colour():
    red = []
    for x in range(getWidth(img)):
        for y in range (getHeight(img)):
            r= getPixel(img,x,y)
            red.append(r)
    return red