How do I test for existence of a list element? Clarified
- To: mathgroup at smc.vnet.net
- Subject: [mg112671] How do I test for existence of a list element? Clarified
- From: Joseph Gwinn <joegwinn at comcast.net>
- Date: Sun, 26 Sep 2010 02:42:53 -0400 (EDT)
I have an application where I am bouncing around in a list, and may accidentally ask for an element beyond the end of the list, which causes Mathematica to complain and balk, preventing completion. Is there any way to test for the existence of a list element without provoking complaint or balking should the list item fail to exist? Many of the suggestions made offline in response to the above imply that I wasn't clear enough, so here is some expansion: All the list operations like MemberQ tell you if a member of the list has some property or not. But it does not solve the problem of telling if a slot (part) exists or not. For instance: list={a, b, c, d}; x=list[[60]] Mathematica will complain that "list[[60]]" does not exist, which is true. Mathematica's specific complaint is "Part::partw: Part 60 of {a,b,c,d} does not exist." Turning the error message off does not solve the problem. The question is how to test if list[[60]] exists without losing control if it does not. Other than by doing the usual arithmetic and test involving Length[list]. It may be that no such test exists, which would also be useful to know. Thanks, Joe Gwinn