Skip to main content
 首页 » 编程设计

+-* 的 python 压缩函数

2025年05月04日10java哥

我需要对 point3 值使用 3 个数学运算函数。我想知道是否有人可以阐明一种更好地以更简洁和简洁的方式编写这些函数的方法。

谢谢。

ptA = [10.0, 20.0, 30] 
ptB = [50, 50 ,50] 
percent = .50 
 
 
def addPoint3(ptA,ptB): 
 
    idA = ptA[0] + ptB[0] 
    idB = ptA[1] + ptB[1] 
    idC = ptA[2] + ptB[2] 
 
    return [idA,idB,idC] 
 
def subtractPoint3(ptA,ptB): 
 
    idA = ptA[0] - ptB[0] 
    idB = ptA[1] - ptB[1] 
    idC = ptA[2] - ptB[2] 
 
    return [idA,idB,idC] 
 
def percentagePoint3(ptA,percentage): 
 
    idA = ptA[0] * percentage 
    idB = ptA[1] * percentage 
    idC = ptA[2] * percentage 
 
    return [idA,idB,idC] 
 
 
 
add = addPoint3(ptA,ptB) 
sub = subtractPoint3(ptA,ptB) 
per = percentagePoint3(ptA,percent) 
print add,sub,per 

请您参考如下方法:

您可以使用 zip和 list comprehensions来简化这些。例如:

def addPoint3(ptA, ptB): 
    return [a+b for a, b in zip(ptA, ptB)] 

或

def percentagePoint3(ptA, percentage): 
    return [pt * percentage for pt in ptA] 

您也可以考虑实现一个类,而不是列表,这样您就可以将它们定义为实例方法(有关示例,请参阅 Ricardo Cárdenes 的回答)。