fork download
  1. f = lambda l: '\n'.join(map(lambda x: f'{x[0]}: {x[1]}', (lambda l: (lambda a: (lambda a, f: f(a, [], f))(a, (lambda a, r, f: (lambda x: f(x[0], x[1], f))((lambda a, r: (lambda x, r: (x[1], r + [x[0]]))((lambda a: ((lambda a, f: f(a[1:], [], a[0], f))(a, lambda a, b, i, f: (f(a[1:], b+[i], a[0], f) if a[0][1] > i[1] else f(a[1:], b+[a[0]], i, f)) if a else (i, b))))(a), r))(a, r)) if a else r)))(list((lambda l: (lambda l, r: (lambda r, l, f: f((r, l), f))(r, l, lambda x, f: f(({k: v + (0 if k != x[1][0] else 1) for k, v in x[0].items()} if x[1][0] in x[0] else {k: v for k, v in list(x[0].items()) + [(x[1][0], 1)]}, x[1][1:]) if x[1] else (x[0], x[1]), f) if x[1] else x[0]))(l, {}))(l).items())))(l)))
  2.  
  3. l = ["mango", "cherry", "banana", "cherry", "grape", "mango", "apple", "cherry", "banana"]
  4. print(f(l))
  5.  
  6.  
Success #stdin #stdout 0.03s 9024KB
stdin
Standard input is empty
stdout
cherry: 3
mango: 2
banana: 2
grape: 1
apple: 1