Wolfram mathematica FromDigits怎么了?
我以为我知道FromDigits是如何工作的,但现在它正在做一些疯狂的事情Wolfram mathematica FromDigits怎么了?,wolfram-mathematica,Wolfram Mathematica,我以为我知道FromDigits是如何工作的,但现在它正在做一些疯狂的事情 n[[990;;]] FromDigits[n[[990;;]]] 产出: {9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9} 1405060708091011121309 而不是,你知道,950050150 发生了什么事?文档中说 FromDigits : constructs an integer from the l
n[[990;;]]
FromDigits[n[[990;;]]]
产出:
{9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9}
1405060708091011121309
而不是,你知道,950050150
发生了什么事?文档中说
FromDigits : constructs an integer from the list of its decimal digits.
因此,对于简单的串联,数组中的每个数字必须小于10个十进制数字
携带大于底数的数字:例如
FromDigits[{7, 11, 0, 0, 0, 122}] will give 810122
有关更多信息,请访问我认为字符串黑客可能是您想要的。这个
myn = {9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9};
ToExpression[StringReplace[ToString[myn], ", " -> ""]][[1]]
给你这个整数
9500501502503504505506507508509
这会将列表转换为字符串,将每个逗号空格分隔符替换为零,将生成的字符串转换为整数,并丢弃现在不需要的花括号。还有其他几种方法
FromDigits@Flatten@IntegerDigits@
{9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9}
9500501502503507508509
(ToString /@ # // StringJoin // ToExpression) &@
{9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9}
9500501502503507508509我明白了。。。有没有一种方法可以像我所说的那样连接列表中的数字?正如Solarmew所说:FromDigits[Flatten[IntegerDigits/@n[[990;;]]]]也可以,谢谢。我只是希望有一种更直接的单指令方式。我还在想我是否喜欢Mathematica,我已经断断续续地使用了一段时间,从来没有真正坐下来彻底学习,但是我真的很想喜欢Python,我刚刚参加了一个在线介绍课程,到目前为止,它似乎没有Mathematica想象的那么令人沮丧。世界上每个人都想在他们的生活中做的每一个想法都有一个独特的Mathematica函数名。你怎么能找到一个足够大的目录来容纳所有的或找到你想要的呢。关于第二点,每种语言都有学习曲线。Mathematica是一种非常非常不同的语言,即使是你认为你知道它们是如何工作的,实际上也可能在表面下做着非常不同的事情。我建议找一本真正符合你风格的好书,用它来学习数学思维方式。
(ToString /@ # // StringJoin // ToExpression) &@
{9, 50, 0, 50, 1, 50, 2, 50, 3, 50, 4, 50, 5, 50, 6, 50, 7, 50, 8, 50, 9}