Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何快速将元组中的每个项减半?_Python_Pygame_Colors - Fatal编程技术网

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

Python 如何快速将元组中的每个项减半?,python,pygame,colors,Python,Pygame,Colors,我正在使用Python 3.3。Pygame使用元组表示颜色。我需要将一个元组中的每个值减半,以使颜色更暗,但每秒需要多次。我可以使用我写的这个函数: def halfTuple(oldTuple): newList = [] for item in oldTuple: newList.append(item * .5) return tuple(newList) 但这可能很慢。有没有更快的方法可以做到这一点?从头创建一个新的元组而不是从数组转换可能会有

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

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

但这可能很慢。有没有更快的方法可以做到这一点?

从头创建一个新的元组而不是从数组转换可能会有帮助:

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

很可能从头开始创建新元组而不是从数组转换将有助于:

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

你真的需要每秒做几次,或者你能预先计算它吗?不。。。嗯,我应该考虑一下。谢谢你真的需要每秒做几次,或者你能预先计算它吗?不。。。嗯,我应该考虑一下。谢谢