J'ai le code Python suivant:Comment mapper un tuple de données à un tuple de fonctions?
data = ['1', '4.6', 'txt']
funcs = [int, float, str]
Comment appeler toutes les fonctions avec les données de l'indice correspondant comme argument à la fonction? Maintenant, je suis en utilisant le code:
result = []
for i, func in enumerate(funcs):
result.append(func(data[i]))
carte (funcs, données) ne fonctionnent pas avec la fonction tuple (Y at-il fonction BUILTIN faire simple
Il est pas nécessaire d'écrire une fonction. Prenez simplement l'une des solutions de compréhension de liste et utilisez une expression de générateur. '(f (x) pour f, x dans zip (funcs, données))' –
Je pensais qu'il est plus agréable d'écrire la fonction qui peut mettre en module utilitaire. J'ai supposé que probablement ce genre de génération arrive plus d'une fois. C'est donc une bonne pratique de ne pas aligner le générateur, car les générateurs ne peuvent pas être redémarrés, mais doivent être «régénérés». Ensuite, le module principal devient plus cohérent et le code est plus facile à réutiliser. J'ai aussi fait revenir les chaînes d'impression lisibles par l'homme. Cela pourrait être facilement transformé en objet. –