替换依赖于其他列表元素的列表元素
Replacing elements of a list that depend on elements of other lists
我有两个列表:
数据 1 = {0, 1, 1, 0, 0}
data2 = {1, 2, 3, 4, 5}
我想根据data1的值替换data2中的元素。
例如,如果data1=0,我希望data2替换为0,否则我希望data2保持原样。
我正在寻找的输出是:
data2 = {1, 0, 0, 4, 5};
对于要求的输出,如果data1 = 0
,data2
是不是替换成0。
data1 = {0, 1, 1, 0, 0};
data2 = {1, 2, 3, 4, 5};
data2 = MapThread[If[#1 == 0, #2, 0] &, {data1, data2}]
{1, 0, 0, 4, 5}
还有
data2 = UnitStep[-Abs@data1]*data2
{1, 0, 0, 4, 5}
另一种方式..
ReplacePart[data2, Position[data1, 0] -> 0]
{0, 2, 3, 0, 0}
请注意您的示例输出与您的问题文本不一致。
我有两个列表:
数据 1 = {0, 1, 1, 0, 0}
data2 = {1, 2, 3, 4, 5}
我想根据data1的值替换data2中的元素。
例如,如果data1=0,我希望data2替换为0,否则我希望data2保持原样。
我正在寻找的输出是:
data2 = {1, 0, 0, 4, 5};
对于要求的输出,如果data1 = 0
,data2
是不是替换成0。
data1 = {0, 1, 1, 0, 0};
data2 = {1, 2, 3, 4, 5};
data2 = MapThread[If[#1 == 0, #2, 0] &, {data1, data2}]
{1, 0, 0, 4, 5}
还有
data2 = UnitStep[-Abs@data1]*data2
{1, 0, 0, 4, 5}
另一种方式..
ReplacePart[data2, Position[data1, 0] -> 0]
{0, 2, 3, 0, 0}
请注意您的示例输出与您的问题文本不一致。