       Re: Pattern problem: How to count from a long list of numbers all

• To: mathgroup at smc.vnet.net
• Subject: [mg87416] Re: Pattern problem: How to count from a long list of numbers all
• From: sashap <pavlyk at gmail.com>
• Date: Thu, 10 Apr 2008 02:11:38 -0400 (EDT)
• References: <fti404\$ok1\$1@smc.vnet.net>

```On Apr 9, 4:58 am, "Nasser Abbasi" <n... at 12000.org> wrote:
> 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:= Count[x, {3, 3}_]
> Out= 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.

Hi Nasser,

the following way uses Partition...

In:= x = {1, 3, 3, 3, 2, 3, 3, 1, 3, 3};

In:= y = Partition[x, 2, 1]

Out= {{1, 3}, {3, 3}, {3, 3}, {3, 2}, {2, 3}, {3, 3}, {3, 1}, {1,
3}, {3, 3}}

In:= Count[y, {3, 3}]

Out= 4

In:= Count[y, {1, 3}]

Out= 2

Oleksandr

>
> Nasser
> I really need to sit down and study Patterns in Mathematica really well one
> day :)

```

• Prev by Date: Re: Pattern problem: How to count from a long list of numbers
• Next by Date: Re: Pattern problem: How to count from a long list of numbers all
• Previous by thread: Re: Pattern problem: How to count from a long list of numbers all
• Next by thread: Re: Pattern problem: How to count from a long list of numbers all