用函数平方替换返回列表的第二部分

时间:2018-12-04 16:42:33

标签: wolfram-mathematica

如上所述,我想将函数返回的列表的第二部分替换为第二部分。

<Subject>
      <NameID>user@domain.com</NameID>
      <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
        <SubjectConfirmationData InResponseTo="_d685e02e861d57cbf40c2a2af996f920" NotOnOrAfter="2018-12-04T15:32:47.404Z" Recipient="https://ourdomain.de/commonauth"/>
      </SubjectConfirmation>
</Subject>
<Conditions>
      <AudienceRestriction>
        <Audience>ourdomain.com</Audience>
      </AudienceRestriction>
    </Conditions>
    <AttributeStatement>
      <Attribute Name="Givenname">
        <AttributeValue>adfsFirsname</AttributeValue>
      </Attribute>
      <Attribute Name="Lastname">
        <AttributeValue>adfsLastname</AttributeValue>
      </Attribute>
      <Attribute Name="Role">
        <AttributeValue>domain-user</AttributeValue>
        <AttributeValue>admin</AttributeValue>
        <AttributeValue>test</AttributeValue>
      </Attribute>
      <Attribute Name="username">
        <AttributeValue>test</AttributeValue>
      </Attribute>
      <Attribute Name="mail">
        <AttributeValue>user@domain.de</AttributeValue>
      </Attribute>
    </AttributeStatement>
</Conditions>

我需要问号等于返回的当前值。有或没有ReplacePart的最简洁方法是什么?

1 个答案:

答案 0 :(得分:1)

也许

n[s]:= {1*s,2*s}; 
n[s]/.{y_,z_}->{y,z^2}

返回{s,4s^2}

您也可以将其写为

ReplaceAll[n[s],{y_,z_}->{y,z^2}]

如果列表中可以包含或不包含两个以上元素,则

ReplaceAll[n[s],{y_,z_,x___}->{y,z^2,x}]

将保持所有其他元素不变