Python列表突变RGB值

问题描述 投票:-1回答:1

给出下面的列表L(RGB值),我如何对列表进行变异,以便如果每个单独列表中的第三个值(B值)不能被2整除,则减去1。否则,别管它。

L = [[[0, 0, 0], [255, 255, 256]], [[255, 255, 255], [255, 255, 255]]]

代码应不返回任何值,并且代码应如下所示:

L = [[[0, 0, 0], [255, 255, 256]], [[255, 255, 254], [255, 255, 254]]]

这是我当前的代码;但它似乎不起作用,因为我需要一些有关突变部分的帮助。

def blue(L):
    for row in L:
      for rgb in row:
        if rgb[2] % 2 != 0:
          rgb[2] = rgb[2] - 1

感谢所有帮助;谢谢!

python python-3.x list rgb mutation
1个回答
0
投票

您的函数在适当的位置更改了L,并且没有任何return,因此,如果您打印此函数,则无显示。

使用此:

def blue(mylist):
    for row in mylist:
        for rgb in row:
            if rgb[2] % 2 != 0:
                rgb[2] = rgb[2] - 1
    return mylist

L = [[[0, 0, 0], [255, 255, 256]], [[255, 255, 255], [255, 255, 255]]]
mutated_L = blue(L)
print(mutated_L)
[[[0, 0, 0], [255, 255, 256]], [[255, 255, 254], [255, 255, 254]]]
© www.soinside.com 2019 - 2024. All rights reserved.