替换依赖于其他列表元素的列表元素

时间:2017-11-06 07:10:08

标签: string replace wolfram-mathematica list-manipulation

我有两个清单:

data1 = {0,1,1,0,0}

data2 = {1,2,3,4,5}

我想根据data1的值替换data2中的元素。

例如,如果data1 = 0,我希望data2替换为0,否则我希望data2保持不变。

我正在寻找的输出是:

data2 = {1,0,0,4,5};

2 个答案:

答案 0 :(得分:1)

对于所需的输出,如果sudo chown username -R .gitdata1 = 0 替换为0。

data2
  

{1,0,0,4,5}

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}

答案 1 :(得分:0)

另一种方式..

ReplacePart[data2, Position[data1, 0] -> 0]
  

{0,2,3,0,0}

请注意,您的示例输出与您的问题文本不一致。