Wolfram mathematica 将函数应用于可变长度的子集

Wolfram mathematica 将函数应用于可变长度的子集,wolfram-mathematica,Wolfram Mathematica,我有一张单子 list = Row[{#}] & /@ Range[100] 我想把函数f应用于以下元素: sublist = Row[{5 #}] & /@ Range[20] 指定要转换的索引很容易。比如说, MapAt[f, list, {{1}, {5}}] 工作正常。一旦我创建了一个新列表并将其用作“部分”: 它失败了。我想问题的关键是在两个数组中同时使用#list和h,但我对Mathematica是新手,无法理解它。有没有办法处理任意长度的数组 MapAt需要

我有一张单子

list = Row[{#}] & /@ Range[100]
我想把函数f应用于以下元素:

sublist = Row[{5 #}] & /@ Range[20]
指定要转换的索引很容易。比如说,

MapAt[f, list, {{1}, {5}}] 
工作正常。一旦我创建了一个新列表并将其用作“部分”:


它失败了。我想问题的关键是在两个数组中同时使用#list和h,但我对Mathematica是新手,无法理解它。有没有办法处理任意长度的数组

MapAt
需要一个简单的列表,而不是包装在
行中的项目。如果您从
h
中省略
,它将起作用。注意,函数
f
应用于
行[{5}]
,而不仅仅是
{5}
。是否确实需要使用


我意识到不需要
。非常感谢你!
h = Row[{5 #}] & /@ Range[20]; 
MapAt[f, list, h]