gpt4 book ai didi

python - 获取元组或列表的(乘法)积?

转载 作者:太空狗 更新时间:2023-10-29 22:08:22 28 4
gpt4 key购买 nike

假设我有一个

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
# 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(),但仅用于乘法?

感谢大家的帮助。

最佳答案

由于这是 Google 的最高搜索结果,我将补充一点,自 Python 3.8 以来,您可以这样做:

from math import prod
t = (5, 10)
l = [2, 100]
prod(t) # 50
prod(l) # 200

关于python - 获取元组或列表的(乘法)积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7861972/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com