Group: Difference between revisions

From The K Language Wiki
Content added Content deleted
m (Lowercase title)
("Remove lowercase again - it is in the template now")
Tag: Manual revert
Line 1: Line 1:
{{lowercase title}}
{{primitive|=x}}
{{primitive|=x}}



Revision as of 01:30, 9 July 2022

Group
=x

The group primitive, denoted by =, is used to group the indices of an array by the values they represent in the array, returning a dictionary.

 =`a`a`b`c`c`d`c`a`a`k
`a`b`c`d`k!(0 1 7 8;,2;3 4 6;,5;,9)


The keys from the group dictionary represent the distinct elements of the array.

 ="abracadabra"
"abrcd"!(0 3 5 7 10;1 8;2 9;,4;,6)

 !="abracadabra"
"abrcd"
 ?"abracadabra"
"abrcd"
Works in: ngn/k


In K2 and K3, the group primitive returns a nested array:

 ="abracadabra"
(0 3 5 7 10
 1 8
 2 9
 ,4
 ,6)
Works in: Kona

In order to mimic the K6 behaviour, you can use distinct: {(?x)!=x} to get a dict.

 {(?:x)!=x}`a`a`b`c
.((`a
   0 1
   )
  (`b
   ,2
   )
  (`c
   ,3
   ))
Works in: Kona