如何将列表元素加上列表平均值?代码运行异常求助
问题分析与修正
你的代码报错是因为列表推导式的语法错误,[i for i in lista1 += srednia]这种写法不符合Python列表推导式的规则,正确的写法应该是对遍历到的每个元素i执行i + srednia的计算。
修正后的代码:
lista1 = [2,3,4,5,6] dlugoscListy = len(lista1) sumaListy = sum(lista1) srednia = sumaListy / dlugoscListy # 修正列表推导式的写法 lista2 = [i + srednia for i in lista1] print(lista2)
运行这段代码后,会输出[6.0, 7.0, 8.0, 9.0, 10.0],符合你“每个元素加上列表平均值”的需求——原列表平均值是4,每个元素加4后得到结果。
另外,你也可以简化计算平均值的代码,直接写成srednia = sum(lista1)/len(lista1),省去中间变量,让代码更简洁:
lista1 = [2,3,4,5,6] srednia = sum(lista1)/len(lista1) lista2 = [i + srednia for i in lista1] print(lista2)
内容的提问来源于stack exchange,提问作者XENON1905
相关产品推荐
相关产品推荐

