简体   繁体   English

python “类型错误:‘builtin_function_or_method’ object 不可迭代”

[英]python "TypeError: 'builtin_function_or_method' object is not iterable"

im trying to make a function that calculates the mad in a list but after i was done making it, it didnt work and said 'TypeError: 'builtin_function_or_method' object is not iterable' and i dont know why is said this.我试图制作一个 function 来计算列表中的 mad 但在我完成制作之后,它没有工作并说'TypeError:'builtin_function_or_method'object is not iterable'我不知道为什么这么说。 heres the code.这是代码。

def mad(a):

    mean = sum(a)/len(a)

    absoluteDeviation = []
    for eachValue in input:
        absoluteDeviation.append(abs(eachValue - mean))
        eachValue += 1

    mad = sum(absoluteDeviation)/len(absoluteDeviation) 
    print(mad)
mad([2,4,6,8])

instead of代替

for eachValue in input:

It should be:它应该是:

for eachValue in a:#since a is the iterable not input

there is no need for:没有必要:

eachValue += 1

Code:代码:

def mad(a):

    mean = sum(a)/len(a)

    absoluteDeviation = []
    for eachValue in a:
        absoluteDeviation.append(abs(eachValue - mean))
        #eachValue += 1

    return sum(absoluteDeviation)/len(absoluteDeviation) 
print(mad([2,4,6,8]))

Output: Output:

$python3.10 iterable.py 
2.0

A better approach to calculate mean absolute deviation since we are using less memory as compare to above code:一种更好的计算平均绝对偏差的方法,因为与上面的代码相比,我们使用的 memory 更少:

"""
mean absolute deviation
"""
def mad(a):

    mean = sum(a)/float(len(a))

    mean_absolute_deviation = 0
    for eachValue in a:
        mean_absolute_deviation += abs(eachValue - mean)

    mean_absolute_deviation /= len(a)
    return mean_absolute_deviation

print(mad([2,4,6,8]))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 显示TypeError:'builtin_function_or_method'对象在Odoo中不可迭代 - showing TypeError: 'builtin_function_or_method' object is not iterable in Odoo 发生异常:TypeError 'builtin_function_or_method' object is not iterable - Exception has occurred: TypeError 'builtin_function_or_method' object is not iterable python:TypeError:类型'builtin_function_or_method'的参数不可迭代 - python : TypeError: argument of type 'builtin_function_or_method' is not iterable Python:TypeError:类型为'builtin_function_or_method'的参数不可迭代 - Python: TypeError: argument of type 'builtin_function_or_method' is not iterable TypeError:“ builtin_function_or_method”不可迭代 - TypeError: 'builtin_function_or_method' is not iterable Python'builtin_function_or_method'对象不是可迭代错误 - Python 'builtin_function_or_method' object is not iterable error python搜索中的'builtin_function_or_method'对象不可迭代'错误? - 'builtin_function_or_method' object is not iterable' error in python search? 'builtin_function_or_method' object 不可迭代 - 'builtin_function_or_method' object is not iterable TypeError: 'builtin_function_or_method' object 不可用于 python - TypeError: 'builtin_function_or_method' object is not subscriptable for python Python:TypeError:“ builtin_function_or_method”对象不可下标: - Python: TypeError: 'builtin_function_or_method' object is not subscriptable:
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM