Partition[list,n,d,{kL,kR}]参数{kL,kR}到底怎么理解?
mathematica吧
全部回复
仅看楼主
level 5
一直没搞明白Partition函数中的参量{kL,kR}的意思,
Partition[list,n,d,{kL,kR}]
specifies that the first element of list should appear at position kL in the first sublist, and the last element of list should appear at or after position kR in the last sublist. If additional elements are needed, Partition fills them in by treating list as cyclic.
按我英文理解水平是,第一个元素出现在第一个子列的位置kL上,最后一个元素出现在最后一个子列的位置kR处,或者之后。但是下面例子,好像与理解有偏差呀,请问各位到底怎么理解?
In[66]:= Partition[{a,b,c,d,e,f,g},3,3,{1,4}]
Out[66]= {{a,b,c},{d,e,f}}
In[67]:= Partition[{a,b,c,d,e,f,g},3,3,{1,5}]
Out[67]= {{a,b,c}}
这里Out[67]= {{a,b,c}}为何不是{{a,b,c},{d,e,f}}?
In[68]:= Partition[{a,b,c,d,e,f,g},3,3,{1,1}]
Out[68]= {{a,b,c},{d,e,f},{g,a,b}}
In[69]:= Partition[{a,b,c,d,e,f,g},3,3,{1,4}]
Out[69]= {{a,b,c},{d,e,f}}
In[73]:= Partition[{a,b,c,d,e,f,g},3,3,{1,3}]
Out[73]= {{a,b,c},{d,e,f}}
像这里Out[73]= {{a,b,c},{d,e,f}}为什么不是{{a,b,c},{d,e,f},{g,a,b}}?
2019年08月17日 00点08分 1
吧务
level 12
Partition[{a,b,c,d,e,f,g},3,3,{1,5}]
最后一个元素g需要出现在最后一个子列表的位置5或之后,你的子列表长度只有3,g无法出现在位置5或之后,所以干脆不出现了
Partition[{a,b,c,d,e,f,g},3,3,{1,3}]
最后一个元素g需要出现在最后一个子列表的位置3或之后,如果是{{a,b,c},{d,e,f},{g,a,b}}的话g的位置是1,不能满足kR的要求所以干脆也不出现了
2019年08月17日 05点08分 2
比方,上面的例子 In[67]:= Partition[{a,b,c,d,e,f,g},3,3,{1,5}] Out[67]= {{a,b,c}} 这里Out[67]= {{a,b,c}}最后一个元素c(不知是不是c,或者g)不也不符合最后一个子列的位置5或之后吗?既然不符合,还不如给出结果{{a, b, c}, {d, e, f}}。这到底如何解释呢?
2019年08月17日 22点08分
@流水肯定了石头 帮助原文是"the last element of list",指的是输入list的最后一个元素g而不是c,所以{{a,b,c}}没有不符合。但是为什么不是{{a, b, c}, {d, e, f}}我也有点不明白了,感觉确实这个结果更符合逻辑
2019年08月26日 12点08分
吧务
level 15
……插一句,吧里老人可能都多少读过Ted Ersek写的对Mathematica部分函数的解说吧。(我的Compile教程是在他的教程基础上写的;他对一些比较难懂的语法,比如ListCorrelate的KL、LR参数,也有较精彩的解说;对与模式匹配相关的几个属性的解说也不错。)而对于Partition的这个语法,他是这么说的:
I haven't been able to find ways to clearly demonstrate use of the Partition
features listed below. ……
囧。
2019年09月07日 09点09分 3
谢谢吧主!确实,我反正到现在也没搞明白,只会用简单的。
2019年09月15日 03点09分
请问这些解说在哪里能看?
2019年09月15日 03点09分
@hjq447285628 用我上面给的关键字可以轻易搜到。具体链接现在我想贴也贴不出来。
2019年10月05日 06点10分
1