Wolfram mathematica mathematica中空列表的长度

Wolfram mathematica mathematica中空列表的长度,wolfram-mathematica,Wolfram Mathematica,我真的不知道为什么代码的输出: State_Values = List[]; Print[Length[{}]] Print[Length[State_Values]]; 是: 没有任何理由。 也许这是一件非常愚蠢的事情,但我看不见。谢谢。不傻,但你犯了一个微妙的错误。State\u Values中的下划线将其转换为模式,而不是列表。您可以使用函数Head[]找到这一点 stateValues = List[]; Length[stateValues] Length[{}] Out[11]=

我真的不知道为什么代码的输出:

State_Values = List[];
Print[Length[{}]]
Print[Length[State_Values]];
是:

没有任何理由。
也许这是一件非常愚蠢的事情,但我看不见。谢谢。

不傻,但你犯了一个微妙的错误。
State\u Values
中的下划线将其转换为
模式
,而不是
列表
。您可以使用函数
Head[]
找到这一点

stateValues = List[];
Length[stateValues]
Length[{}]

Out[11]= 0

Out[12]= 0
正如您所看到的,这是正确的,也是预期的。但是,如果引入下划线,则所有内容都会中断:

state_Values = List[];
Length[state_Values]
Head[state_Values]
Head[stateValues]

Out[16]= 2

Out[17]= Pattern

Out[18]= List

<> P>更容易看到你是否使用了Mathematica的GUI版本,因为它突出了<代码>模式>代码>变量不同。

你好Stoyn,请考虑在Mathematica Mathematica StAdExchange站点问将来的问题:你犯了2个大错误。一是在变量名中使用了uu,二是在变量名中使用了大写字母。两者都是数学中的禁忌。这是很基本的。Mathematica不是Matlab。
state_Values = List[];
Length[state_Values]
Head[state_Values]
Head[stateValues]

Out[16]= 2

Out[17]= Pattern

Out[18]= List