1

2 つの 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

これは、リスト内包表記できれいにできることですか? または、より良いアプローチがありましたか?

4

2 に答える 2