Python abs作为一个对象起作用

Python abs作为一个对象起作用,python,higher-order-functions,Python,Higher Order Functions,我正在阅读John Guttag关于使用Python进行计算和编程的介绍。在第64页,他谈到了作为对象的函数 为什么abs功能的应用会跳过“2”并打印“3.330000001”三次 我正在使用空闲的PythonShell 3.3.3 def applyToEach(L, f): for i in range(len(L)): L[1] = f(L[i]) L = [1, 2, 3.3300000001] print('L =', L) ###

我正在阅读John Guttag关于使用Python进行计算和编程的介绍。在第64页,他谈到了作为对象的函数

为什么abs功能的应用会跳过“2”并打印“3.330000001”三次

我正在使用空闲的PythonShell 3.3.3

def applyToEach(L, f):

    for i in range(len(L)):

        L[1] = f(L[i])

L = [1, 2, 3.3300000001]        



print('L =', L)  ###L = [1, 2, 3.3300000001]

applyToEach(L, abs)

print('L =', L)   ###L = [1, 3.3300000001, 3.3300000001]

因为你写的是
L[1]
,而不是
L[i]