如何快速将元组中的每个项目减半?

时间:2013-02-09 20:09:12

标签: python pygame colors

我正在使用Python 3.3。 Pygame使用元组来表示颜色。我需要将元组中的每个值减半以使颜色变深,但每秒多次。我可以使用我写的这个函数:

def halfTuple(oldTuple):
    newList = []
    for item in oldTuple:
        newList.append(item * .5)
    return tuple(newList)

但可能会很慢。有更快的方法吗?

1 个答案:

答案 0 :(得分:3)

从头开始创建新元组而不是从数组转换可能会有所帮助:

def halfTuple(oldTuple):
    return tuple(x * 0.5 for x in oldTuple)