如何使用Python列表推导式计算列表元素的平方和(附实战案例)
你只需要调整sum函数的内部逻辑,对每个概率值先做平方运算再累加即可,修改后的完整代码如下:
sum_squares_list = [[country, sum(x**2 for x in success_estimates[country])] for country in success_estimates] sum_squares_list
逻辑说明
原代码直接对国家对应的概率列表整体求和,调整后sum函数传入了一个生成器表达式:遍历每个国家的概率值列表,先计算每个概率值x的平方(x**2),再把所有平方结果累加,完全匹配题目要求的计算规则。
运行后牙买加对应结果为['Jamaica', 1.2987],和示例完全一致。
可选优化
如果需要避免浮点数精度问题,输出和示例格式一致的四位小数结果,可以在求和后加round函数做精度控制:
sum_squares_list = [[country, round(sum(x**2 for x in success_estimates[country]), 4)] for country in success_estimates]
内容的提问来源于stack exchange,提问作者Jason Chiu
相关产品推荐
相关产品推荐

