我试图找到一种清晰的方法来获取两个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
这是我可以用列表理解清楚地做到的吗?还是有更好的方法?你知道吗
当然,只要把你有的结合起来:
这里有一个方法
但也许你应该用一个函数
旁白:你不需要使用列表理解。
tuple()
可以很好地处理生成器表达式相关问题 更多 >
编程相关推荐