Python 类型错误:';功能';对象不可下标,vector

Python 类型错误:';功能';对象不可下标,vector,python,Python,我做错了什么?我想创建一个显示mean、var和std的函数,而不使用已有的python函数,并且在创建向量时遇到了麻烦。你们能帮帮我吗?你们需要遵守Python的函数调用约定@JBernardo指出了这一点,其他人也指出了这一点(阿奇奶奶):您正试图使用[pram1,param2…] 见 关键字def引入函数定义。必须遵循这一原则 通过函数名和带括号的形式参数列表 我承认页面并没有明确地告诉我们调用的行为和声明的行为是一样的。然而,它包含了许多填补这一空白的例子 大多数时候,我更喜欢初学者明确

我做错了什么?我想创建一个显示mean、var和std的函数,而不使用已有的python函数,并且在创建向量时遇到了麻烦。你们能帮帮我吗?

你们需要遵守Python的函数调用约定@JBernardo指出了这一点,其他人也指出了这一点(阿奇奶奶):您正试图使用
[pram1,param2…]

关键字def引入函数定义。必须遵循这一原则 通过函数名和带括号的形式参数列表

我承认页面并没有明确地告诉我们调用的行为和声明的行为是一样的。然而,它包含了许多填补这一空白的例子

大多数时候,我更喜欢初学者明确地编写代码:

import math
def stats(a):
    mean = sum(a)/len(a)
    var = sum(pow(x-mean,2) for x in a) / len(a)
    std  = math.sqrt(var)
    return (mean, var, std)
print(stats[1,2,3,4,5,6,7,8,9])

在最后一行的打印语句中,您有:
stats[1,2,3,4,5,6,7,8,9]

括号
[]
用于订阅(例如,从列表、字符串或字典中选择元素)

使用函数时,需要包含括号。你是说统计数据([1,2,3,4,5,6,7,8,9])?

stats
1,2,3,4,5,6,7,8,9
是的!导入数学定义统计(a):平均值=总和(a)/len(a)var=总和(a中x的pow(x-平均值,2)/len(a)std=数学。sqrt(var)返回(平均值,var,std)a=[1,2,3,4,5,6,7,8,9]打印(统计(a))
import math
def stats(a : list): # explicitly ask for a list for a
    mean = sum(a)/len(a)
    var = sum(pow(x-mean,2) for x in a) / len(a)
    std  = math.sqrt(var)
    return (mean, var, std)
my_list = [1,2,3,4,5,6,7,8,9] # its a list
mean,var,std= stats(my_list)
print('Mean:{}, var:{}, std:{}'.format(mean,var,std))