Partition

Classic Edition

The symbol (Left Shoe Underbar) is not available in Classic Edition, and Partition is instead represented by ⎕U2286.

Y may be any non-scalar array.

X must be a simple scalar or vector of non-negative integers.

The axis specification is optional. If present, it must be a simple integer scalar or one element array representing an axis of Y. If absent, the last axis is implied.

R is an array of the elements of Y partitioned according to X.

A new partition is started in the result whenever the corresponding element in X is greater than the previous one. Items in Y corresponding to 0s in X are not included in the result.

Note that if ⎕ML≥3, the symbol means the same as .

Examples

      ⎕ML3

      ]display 1 1 1 2 2 3 3 3'NOWISTHE'
─────────────────┐
 ──┐ ─┐ ──┐ 
 NOW IS THE 
 └───┘ └──┘ └───┘ 
─────────────────┘

      ]display 1 1 1 0 0 3 3 3'NOWISTHE'
────────────┐
 ──┐ ──┐ 
 NOW THE 
 └───┘ └───┘ 
────────────┘

      TEXT'   NOW     IS      THE      TIME    '
      ]display (' 'TEXT)TEXT
────────────────────────┐
 ──┐ ─┐ ──┐ ───┐ 
 NOW IS THE TIME 
 └───┘ └──┘ └───┘ └────┘ 
────────────────────────┘
      ]display CMAT⎕FMT(' ',ROWS),COLSNMAT
─────────────────────────┐
           Jan   Feb  Mar 
 Cakes       0   100  150 
 Biscuits    0     0  350 
 Buns        0  1000  500 
└──────────────────────────┘
      ]display (' 'CMAT)CMAT   ⍝ Split at blank cols.
──────────────────────────────┐
 ───────┐ ──┐ ───┐ ──┐ 
          Jan  Feb Mar 
 └────────┘ └───┘ └────┘ └───┘ 
 ───────┐ ──┐ ───┐ ──┐ 
 Cakes      0  100 150 
 └────────┘ └───┘ └────┘ └───┘ 
 ───────┐ ──┐ ───┐ ──┐ 
 Biscuits   0    0 350 
 └────────┘ └───┘ └────┘ └───┘ 
 ───────┐ ──┐ ───┐ ──┐ 
 Buns       0 1000 500 
 └────────┘ └───┘ └────┘ └───┘ 
──────────────────────────────┘

      ]display N4 4⍴⍳16
──────────┐
 1  2  3  4
 5  6  7  8
 9 10 11 12
13 14 15 16
~──────────┘

      ]display 1 1 0 1N
─────────────┐
 ──┐     
 1 2   4  
 ~──┘   ~  
 ──┐     
 5 6   8  
 ~──┘   ~  
 ───┐  ─┐ 
 9 10  12 
 ~───┘  ~─┘ 
 ────┐ ─┐ 
 13 14 16 
 ~────┘ ~─┘ 
─────────────┘
      ]display 1 1 0 1[1]N
────────────────────────┐
 ──┐ ──┐ ──┐ ──┐ 
 1 5 2 6 3 7 4 8 
 ~──┘ ~──┘ ~──┘ ~──┘ 
 ─┐  ─┐  ─┐  ─┐  
 13  14  15  16  
 ~─┘  ~─┘  ~─┘  ~─┘  
────────────────────────┘