level 6
比如有
a={{1,2},{11,22},{111,222}}
a[[0,25]] (*会报:Part::partd: 部分指定 {{1,2},{11,22},{111,222}}[[0,25]] 比对象深度更长.*)
a[[3,3]] (*会报:Part::partw: {111,222} 的部分 3 不存在.*)
有没有办法对于未知形状的列表,在运行 a[[3,3]] 之前就能知道 3,3 这个位置有没有元素?
2024年02月25日 16点02分
1
吧务
level 10
只需Quite或Check这个消息
GeneralUtilities`SafePart已帮你实现了
2024年02月25日 16点02分
2
@asdasd1dsadsa 我刚看到。我自己捣鼓了临时Off[Extract::partd,Extract::partw];,然后检查ToString@Extract的开头是不是"Extract[",也实现了返回True/False功能。另外要排除掉0下标的情况。
2024年02月25日 17点02分