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