【发布时间】:2021-03-11 08:16:14
【问题描述】:
大家好,这是我在这里的第一篇文章,如果这篇文章有问题,请告诉我。 如果该值低于列表的平均值,我正在尝试改进列表的某些值,而我试图做的是:
def improve(list,average):
for i in range(len(list)):
if list[i]<average:
list[i].append(average) #This line gives me the error.
list=[10.50,11.40,20.50,9.30,5.00]
sum=0
average=float(0)
for i in list:
sum=sum+i
average=sum/len(list)
print(list)
improve(list,average)
print("improved list=",list)
我得到了错误“AttributeError: 'float' object has no attribute 'append'”,我确定代码是正确的,但是如果我不能附加浮动的东西,我能做什么还是应该做? 非常感谢大家,自从我开始攻读系统学位以来,我将一直活跃在这里,我会有很多问题或疑问。
【问题讨论】:
-
错误发生在哪一行?另外,提高()功能是什么?似乎缺少信息。
-
我想你想要
list[i] = list[i] + average。您似乎将append视为添加。不是。 -
list[i].append(average)您的错误是您正在尝试将值附加到该位置存在的浮点值。如果您要插入该位置,您应该使用list.insert(index,average),或者如果您想追加到列表中,请执行此list.append(average),或者如果您想增加该位置的值,请使用list[i]+=average -
大家好,我已经编辑了帖子,因为第一行丢失了,我的错,我不知道我必须把第一行放在'''下面,我已经评论了这一行这给了我错误
-
我想你可能不希望
average = sum / len(list)在 for 循环中......
标签: python