Wolfram mathematica 字符串操作中的混淆

Wolfram mathematica 字符串操作中的混淆,wolfram-mathematica,mathematica-8,Wolfram Mathematica,Mathematica 8,输入形式[{a,b,c,d,e,f}]给出{a,b,c,d,e,f} InputForm[字符[某物]]给出{S,O,M,E,T,H,I,N,G} 但是为什么不删除[InputForm[Characters[SOMETHING]],1]给出{O,M,E,T,H,I,N,G} 但是只给出一个InputForm[]而没有其他内容 我怎样才能做到这一点 感谢您进行评估 InputForm[Characters["SOMETHING"]] Mathematica内部生成结果 InputForm[Lis

输入形式[{a,b,c,d,e,f}]给出{a,b,c,d,e,f}

InputForm[字符[某物]]给出{S,O,M,E,T,H,I,N,G}

但是为什么不删除[InputForm[Characters[SOMETHING]],1]给出{O,M,E,T,H,I,N,G}

但是只给出一个InputForm[]而没有其他内容

我怎样才能做到这一点

感谢您进行评估

InputForm[Characters["SOMETHING"]]
Mathematica内部生成结果

InputForm[List["S","O","M","E","T","H","I","N","G"]]
i、 它是一个以InputForm为头的表达式,包含ListList[s,O,M,e,T,H,i,N,G]作为其第一个子表达式。当Mathematica显示表达式时,您看不到InputForm头,因为前端仅将其用作如何显示表达式的提示,但它仍在幕后

然后,当您使用Drop[…,1]时,它会查看给定的表达式,选择第一个子表达式,即List[s,O,M,E,T,H,I,N,G],并丢弃它。只剩下InputForm[]

打个比方:如果你

Drop[List[List["S","O","M","E","T","H","I","N","G"]], 1]
你会明白为什么你会得到一张空名单,对吧?这是同样的事情。

当你评估

InputForm[Characters["SOMETHING"]]
Mathematica内部生成结果

InputForm[List["S","O","M","E","T","H","I","N","G"]]
i、 它是一个以InputForm为头的表达式,包含ListList[s,O,M,e,T,H,i,N,G]作为其第一个子表达式。当Mathematica显示表达式时,您看不到InputForm头,因为前端仅将其用作如何显示表达式的提示,但它仍在幕后

然后,当您使用Drop[…,1]时,它会查看给定的表达式,选择第一个子表达式,即List[s,O,M,E,T,H,I,N,G],并丢弃它。只剩下InputForm[]

打个比方:如果你

Drop[List[List["S","O","M","E","T","H","I","N","G"]], 1]

你会明白为什么你会得到一张空名单,对吧?这是同样的事情。

我不熟悉这门语言,所以无法回答,但作为一般规则,你应该提到你得到了什么,以及你想要得到什么,不同的输出或一个错误你从索引1开始,而不是从0开始?索引0是“S”@f01 Mathematica使用基于1的索引。我不熟悉该语言,因此无法回答,但作为一般规则,您应该提到您得到的以及您想要得到的是不同的输出或错误您从索引1开始而不是0?索引0是“S”@f01 Mathematica使用基于1的索引。@user1709828最简单的解决方案是避免使用InputForm,除了包装某些内容以供显示之外。如果您希望所有输出或某些特定内容始终以InputForm显示,有几种方法可以处理@Rojo,我希望使用Drop[InputForm[Characters[something]],1]的每个剩余元素的输出,并在ToCharacterCode中使用,这需要以form形式输入。我试图通过InputForm实现它。@user1709828仍然不是使用InputForm的好理由。若要转换回需要StringJoin的字符串,或者在这种特殊情况下,您可以直接将ToCharacterCode应用于字符串,然后对其结果使用Drop,因为ToCharacterCode提供了一个列表。@user1709828最简单的解决方案是避免使用InputForm,除非包装某些内容以供显示。如果您希望所有输出或某些特定内容始终以InputForm显示,有几种方法可以处理@Rojo,我希望使用Drop[InputForm[Characters[something]],1]的每个剩余元素的输出,并在ToCharacterCode中使用,这需要以form形式输入。我试图通过InputForm实现它。@user1709828仍然不是使用InputForm的好理由。要转换回需要StringJoin的字符串,或者对于这种特殊情况,可以直接将ToCharacterCode应用于字符串,然后对结果使用Drop,因为ToCharacterCode提供了一个列表。