我试图找到一种干净的方法来获取两个 int 元组的值之间的差异。元组本身有限制,因为它们代表 RGB 颜色。这是我到目前为止所拥有的:
tupleone = (255, 0, 255) # Magenta
tupletwo = (255, 0, 0) # Red
tuple([tupleone[x] - tupletwo[x] for x in range(3)]) # makes Blue
我在这里遇到的问题是边界检查,因为每个颜色值必须是 0-255。我要做的是,如果从较小的数字中减去较大的数字,则为该给定索引返回 0。我一直在使用它来测试单个索引:
value = -10
max(0, min(color, 255)) # value = 0
这是我可以用列表理解干净地做的事情吗?还是有更好的方法?