Re: Pattern problem: How to count from a long list of numbers all occurrences of 2 numbers next to each others?
- To: mathgroup at smc.vnet.net
- Subject: [mg87577] Re: Pattern problem: How to count from a long list of numbers all occurrences of 2 numbers next to each others?
- From: "Dana DeLouis" <dana.del at gmail.com>
- Date: Sun, 13 Apr 2008 03:33:52 -0400 (EDT)
> x = {1, 3, 3, 3, 2, 3, 3, 1, 3, 3}
> And I want to count how many say a 3 followed immediately by 3.
> ...1 followed by a 3, there will be 2
Just to be different for this particular problem...
x = {1, 3, 3, 3, 2, 3, 3, 1, 3, 3};
Count[ListConvolve[{3, -3}, x], 0]
4
Count[ListConvolve[{1, -3}, x], 0]
2
--
HTH :>)
Dana DeLouis
"Nasser Abbasi" <nma at 12000.org> wrote in message
news:fti404$ok1$1 at smc.vnet.net...
> Hello;
>
> I think using Pattern is my weakest point in Mathematica.
>
> I have this list, say this: (it is all a list of integers, no real
numbers).
>
> x = {1, 3, 3, 3, 2, 3, 3, 1, 3, 3}
>
> And I want to count how many say a 3 followed immediately by 3. So in the
> above list, there will be 4 such occurrences. And if I want to count how
> many 1 followed by a 3, there will be 2 such cases, etc...
>
> I tried Count[] but I do not know how to set the pattern for "3 followed
by
> a comma followed by 3" or just "3 followed immediately by 3".
>
> I tried few things, such as the following
>
> In[68]:= Count[x, {3, 3}_]
> Out[68]= 0
>
> Also tried Cases, but again, I am not to good with Patterns, so not sure
how
> to set this up at this moment.
>
> Any ideas will be appreciated.
>
> Nasser
> I really need to sit down and study Patterns in Mathematica really well
one
> day :)
>
>