比方說,我有一個獲取元組或列表的(乘法)乘積?
class Rectangle(object):
def __init__(self, length, width, height=0):
self.l = length
self.w = width
self.h = height
if not self.h:
self.a = self.l * self.w
else:
from itertools import combinations
args = [self.l, self.w, self.h]
self.a = sum(x*y for x,y in combinations(args, 2)) * 2 #thanks SO
#original code:
#(self.l * self.w * 2) + \
#(self.l * self.h * 2) + \
#(self.w * self.h * 2)
self.v = self.l * self.w * self.h
什麼是每個人的第12行上走?
self.a = sum(x*y for x,y in combinations(args, 2)) * 2
我聽說應該避免明確的列表索引引用。
是否有一個功能,我可以使用像
sum()
行爲,但只用於乘法?
感謝大家的幫助。
FWIW,你也可以將總和中的「* 2」。 –
良好的通話。我改變了它。 – Droogans