【发布时间】:2013-11-12 18:11:36
【问题描述】:
我正在尝试构建一个函数来计算给定数字的平均值。数字可以是元组格式:(1, 2, 3),也可以是列表格式:[1, 2, 3]。
现在我想出了这个:
def get_mean(*arg):
for x in arg: ### Calculating sum
sum = float(sum) + x
count = len(arg)
mean = float(sum) / int(count)
return mean
如果我尝试使用以下属性调用此函数:
print get_mean(1, 2, 3)
输出将是:2.0
但后来:
print get_mean[1, 2, 3]
输出错误:TypeError: 'function' object has no attribute '__getitem__'
为什么会这样?
【问题讨论】:
-
variable[x]用于属性访问,而variable(x)用于函数调用。对于您的第二种情况,您需要get_mean([1,2,3]) -
get_mean[...] 是解释列表索引,而 get_mean 不是列表,它是一个函数。第一步尝试 get_mean([1,2,3])
-
但是函数的定义是正确的,嗯?
标签: python list python-2.7 arguments tuples