Je me retrouve souvent besoin d'appliquer une séquence de fonctions unaires à une séquence de la même longueur. Ma première pensée est d'aller avec map()
, mais cela ne prend qu'une seule fonction à appliquer à tous les éléments de la séquence.Transformer les éléments de itérables avec une suite de fonctions unaires
Dans le code suivant, par exemple, je souhaite appliquer str.upper()
au premier élément et int
au deuxième élément de chaque a
. "transform
" est un espace réservé pour l'effet que je suis après.
COLS = tuple([transform((str.upper, int), a.split(",")) for a in "pid,5 user,8 program,28 dev,10 sent,9 received,15".split()])
Y a-t-il une bibliothèque standard ou une autre implémentation sympa qui peut effectuer une transformation comme celle-ci?
Il n'y a rien de mal à cette question, mais je voudrais faire des folies et acheter une ligne supplémentaire de code pour cela. Divisé les dossiers et leurs champs sur la ligne 1, finition rangement sur la ligne 2. En d'autres termes, la chose que vous avez choisi de factoriser est pas ce que je l'aurais choisi. –