Re: Problem with Position applied on 2D list?
- To: mathgroup at smc.vnet.net
- Subject: [mg72622] Re: Problem with Position applied on 2D list?
- From: dh <dh at metrohm.ch>
- Date: Fri, 12 Jan 2007 06:13:51 -0500 (EST)
- References: <eo4n23$l4i$1@smc.vnet.net>
Hi Heiko,
the problem with your code is that "_" matches everything ( e.g. the
head). This works if the match part must contain 5 e.g.the head does not
contain 5). But it fails badly otherwise. Therefore, you must be more
specific, e.g. instead of "_" the more specific: "{_Integer ..}".
Daniel
Heiko Damerau wrote:
> Dear All,
>
> There is some strange behaviour of the Position[] function I am
> struggling with:
>
> integerRandomTable = Table[Table[Random[Integer, 10], {10}], {10}];
>
> Find the position of all lists containing the value 5 (just a simple
> example):
>
> Position[integerRandomTable, _?(MemberQ[#, 5] &)]
>
> gives the expected result, e.g. {{1}, {3}, {4}, {5}, {6}, {7}, {8}}.
> However, just asking for all lists not containing the value 5
>
> Position[integerRandomTable, _?(Not[MemberQ[#, 5]] &)]
>
> Doesn't give the expected result but some strange thing, e.g. {{0},
> {1,0}, {1, 1}, {1, 2}, {1, 3}, {1, 4}, ..., {10, 3}, {10, 4}, {10, 5},
> {10, 6}, {10, 7}, {10, 8}, {10, 9}, {10, 10}, {10}, {}}
>
> What is the explanation for the different behaviour of MemberQ[]
> and Not[MemberQ[]]?
>
> Thanks a lot in advance for any help.
>
> Best regards,
> Heiko
>