[python] Vypocet variaci

Ing. Jan Janech devel na atlas.sk
Čtvrtek Listopad 15 17:48:37 CET 2007


Radek Machulka wrote:
> Zdravim,
> nevi nekdo, zda existuje v pythonu nejaka hotova funkce pro vypocet vsech 
> N-clennych variaci z dane mnoziny prvku? Nejak nemuzu nic najit a programovat 
> se mi to dvakrat nechce :).
> Dik Radek

Pre milovnikov in-linerov:

 >>> variations  = lambda lst: [[lst[x]]+y for x in xrange(len(lst)) for 
y in variations(lst[:x]+lst[x+1:])]+(((len(lst) == 1) and [lst]) or [])


Pouzitie:
 >>> variations([2,3,4])
[[2, 3, 4], [2, 4, 3], [3, 2, 4], [3, 4, 2], [4, 2, 3], [4, 3, 2]]


Janko



Další informace o konferenci Python