使用函数作为参数

时间:2018-07-17 09:02:57

标签: python list function variable-assignment

我尝试使用函数作为高阶编程的参数。以下是John V. Gutttag的书中的一个示例。函数applyToEach假定第一个参数“ L”是一个列表,第二个参数“ f”是一个函数。 输出是l = [1、2,-3.5、4],l = [1、2、3.5、4],l = [1、2、3、4]。

如果我将第二和第三行更改为:

for i in L:
        i = f(i)

输出为 l = [1,-2,-3.5,4],三倍,这意味着i = f(i)不会对列表做任何更改。 怎么了?

代码:

def applyToEach(L,f):
    for i in range(len(L)):        
       L[i] = f(L[i])

l = [1,-2,-3.5,4]
print('l=',l)

print('apply abs to each element of l')
applyToEach(l,test)
print('l=',l)

print('apply int to each element of l')
applyToEach(l,int)
print('l=',l)

0 个答案:

没有答案
相关问题