You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用map函数修改applyToEach函数实现列表元素取绝对值

使用map修改applyToEach函数的实现方案

修改后的核心代码

替换原有循环逻辑后的applyToEach函数如下,完全保留原函数原地修改列表的特性:

def applyToEach(L, f):
    # map返回迭代器,转列表后通过切片赋值实现原地修改
    L[:] = list(map(f, L))

完整测试代码

和原测试逻辑完全一致:

def applyToEach(L, f):
    L[:] = list(map(f, L))

L = [1, -2, 3.333]
print('L = ', L)
print('Apply abs to each element of L.')
applyToEach(L, abs)
print('L = ', L)

输出结果

和原实现的输出完全相同:

L =  [1, -2, 3.333]
L =  [1, 2, 3.333]

注意事项

不要直接写L = list(map(f, L)),这种写法只会修改函数内部的局部变量L,不会修改外部传入的原列表,无法达到原函数原地修改的效果。使用L[:]切片赋值会直接替换原列表的所有元素,外部变量也会同步更新。

内容的提问来源于stack exchange,提问作者Rushi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 21:09:02