mathematica中空列表的长度

时间:2012-06-29 16:12:55

标签: wolfram-mathematica

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

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

是:

0 
2

无法提出任何理由。 也许这是非常愚蠢的,但我看不到。谢谢。

1 个答案:

答案 0 :(得分:10)

不是傻瓜,但你犯了一个微妙的错误。 State_Values中的下划线将其变为Pattern,而不是List。您可以使用函数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

您可以更轻松地查看是否使用了Mathematica的GUI版本,因为它以不同的方式突出显示Pattern个变量。